Systems and methods for adjusting transaction affinity information

ABSTRACT

In certain aspects, the disclosed implementations include methods and systems for dynamically generating and providing transaction affinity recommendation data. In certain implementations, the transaction affinity recommendation data may include information that identifies a target merchant and associated merchant promotion data that may be generated based on a dynamic analysis of transaction data corresponding to an account record. In some aspects, the disclosed implementations may perform processes that determine adjustments to the merchant recommendation data based on one or more parameters associated with potential next merchants included in the merchant recommendation data. The disclosed implementations may analyze weigh values assigned to the one or more parameters, and based on the weight values and parameter information, may determine a different merchant is to be recommended. Based on the determination, the disclosed implementations may generate adjusted merchant recommendation data identifying a different recommended merchant.

CROSS-REFERENCE TO RELATED APPLICATIONS UNDER 35 U.S.C. § 120

This application is a continuation of U.S. patent application Ser. No.16/006,075, filed on Jun. 12, 2018, entitled “SYSTEMS AND METHODS FORPROVIDING TRANSACTION AFFINITY INFORMATION,” which is hereby expresslyincorporated by reference herein.

BACKGROUND

Technologies for processing transaction-related data enable data to beprocessed to provide information to computing components for intelligentanalysis and feedback to users. Monitoring transactions enables back-endand client-side systems to analyze and provide targeted feedback. Theanalysis provides opportunities for a computing system to processinformation in an efficient manner to generate and provide, for example,targeted feedback information that a user and/or computing system canevaluate for future actions or decisions.

SUMMARY

Consistent with the disclosure, systems and methods are provided fordynamically analyzing transaction data to determine, generate, andprovide transaction affinity recommendation data. In some examples, thedisclosed implementations may perform one or more transaction affinityprocesses that collect and analyze transaction information associatedwith one or more accounts to determine and generate transaction affinitydata reflecting one or more relationships between the transactions andmerchants associated with the transactions. Based on the transactionaffinity relationships, the disclosed implementations may dynamicallydetermine and provide transaction affinity recommendation data that maybe used by user(s) and/or computing systems for adjusting subsequentevents, actions, and processes relating to the transactions, account(s),and/or user(s). Further, the disclosed implementations may determineadjustments to transaction affinity recommendation data based on one ormore parameters. These and other exemplary aspects of the disclosedimplementations are described in detail below.

It is to be understood that both the general and detailed descriptionsbelow are exemplary and are not restrictive of the implementations andaspects of the disclosed and claimed implementations.

The accompanying drawings illustrate exemplary aspects of the disclosedimplementations and, together with the descriptions below, provideexplanations relating to the general and/or technical features relatingto the disclosed implementations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary system consistent withdisclosed implementations;

FIG. 2 is a block diagram of an exemplary transaction affinity platformsystem, consistent with disclosed implementations;

FIG. 3 is a block diagram of an exemplary client system, consistent withdisclosed implementations;

FIG. 4 is a block diagram of an exemplary merchant system, consistentwith disclosed implementations;

FIG. 5 is a flow chart of an exemplary transaction affinity process,consistent with disclosed implementations;

FIG. 6 is a flow chart of an exemplary transaction affinity datacollection process, consistent with disclosed implementations;

FIG. 7 is a block diagram of exemplary transaction affinity data,consistent with disclosed implementations;

FIG. 8 is a flow chart of an exemplary trip transaction datadetermination process, consistent with disclosed implementations;

FIG. 9 is a block diagram of exemplary time gap data, consistent withdisclosed implementations;

FIG. 10 is a flow chart of an exemplary transaction affinityrelationship determination process, consistent with disclosedimplementations;

FIG. 11 is a block diagram of exemplary count data, consistent withdisclosed implementations;

FIG. 12 is a block diagram of an exemplary merchant affinityrelationship network, consistent with disclosed implementations;

FIG. 13 is a block diagram of exemplary merchant affinity relationships,consistent with disclosed implementations;

FIG. 14 is a flow chart of an exemplary merchant recommendation process,consistent with disclosed implementations;

FIG. 15 is a block diagram of exemplary location information, consistentwith disclosed implementations;

FIG. 16 is a block diagram of an exemplary merchant affinity network,consistent with disclosed implementations;

FIG. 17 is a block diagram of exemplary location information stores,consistent with disclosed implementations;

FIG. 18 is a block diagram of an exemplary merchant information storeand an exemplary merchant affinity relationship store, consistent withdisclosed implementations;

FIG. 19 is a flow chart of an exemplary transaction affinityprovisioning process, consistent with disclosed implementations;

FIG. 20 is a block diagram of an exemplary merchant affinity network,consistent with disclosed implementations;

FIG. 21 is a block diagram of exemplary merchant transaction links andexemplary transaction affinity merchant link information, consistentwith disclosed implementations; and

FIG. 22 is a block diagram of an exemplary merchant recommendationadjustment interface, consistent with disclosed implementations.

DETAILED DESCRIPTION

The following detailed description of exemplary implementations refersto the accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar components, functionalities,processes, elements, and the like.

The disclosed implementations include methods, systems, and tangiblearticles of manufacture that may be configured to provide, for example,transaction affinity information that may be used to provide efficientcomputing of transaction information. In certain aspects, the disclosedimplementations may perform transaction affinity process(es) todetermine transaction affinity relationship data that may be used toprovide data relating to one or more recommendations concerning actionand events, such as a user event involving the use of an account toperform one or more transactions in a related sequence. In additionalaspects, the disclosed implementations may perform process(es) tocollect and process transaction data to determine, generate, and analyzetransaction affinity data, which may be used to determine transactionaffinity relationships. In certain examples, the disclosedimplementations may perform recommendation process(es) that analyzetransaction affinity relationship data to identify potential merchantsfor consideration by computing system(s) and/or user(s). Based on suchanalysis and processing, the disclosed implementations may generate andprovide merchant recommendation data that may identify targetedmerchant-related systems or locations for consideration by user(s)and/or computing systems. Further, the disclosed implementations mayanalyze one or more parameter information associated with potentialrecommended merchants to determine whether the merchant recommendationdata should be adjusted, and if so, generate and provide adjustedmerchant recommendation data.

For example, the disclosed embodiments may include a system includingtransaction affinity platform computing components that execute softwareto perform operations to generate transaction affinity recommendationdata. The system may include memory that stores the software andinformation used by the transaction affinity platform computingcomponents to perform the operations to receive transaction dataassociated with a set of transactions associated with a first accountrecord and analyze the transaction data to generate a transactionaffinity data set. In some aspects, the transaction affinity platformcomputing components may identify a first pair of temporally relatedtransactions from the transaction affinity data set, the first pair oftemporally related transactions including a first transaction and asecond transaction that occurred later in time than the firsttransaction. The transaction affinity platform computing components mayalso analyze transaction affinity data associated with each transactionin the first pair of temporally related transactions to determine timegap data associated with the first transaction and the secondtransaction and generate trip transaction data based on the time gapdata. Based on the trip transaction data, the transaction affinityplatform computing components may generate transaction affinityrelationship data that may be used to generate merchant recommendationdata associated with a set of recommended merchants that have anaffinity relationship with a target merchant. In some implementations,the merchant recommendation data is generated before a new transactionoccurs after the second transaction and the merchant recommendation dataidentifies a first recommended merchant included in the set ofrecommended merchants. Additionally, the transaction affinity platformcomputing components may determine merchant parameter information foreach merchant in the set of recommended merchants and receive inputparameter information associated with a set of parameters. The set ofparameters may be associated with parameters included in the merchantparameter information. Based on the input parameter information, thetransaction affinity platform computing components determine a parameterweight value for each parameter in the set of parameters and analyze theparameter weight values and the merchant parameter information. Based onthe analysis, the transaction affinity platform computing components maydetermine an adjustment to the merchant recommendation data that may beused to generate adjusted merchant recommendation data that identifies asecond recommended merchant in the set of recommended merchants in placeof the first recommended merchant. The transaction affinity platformcomputing components may provide the adjusted merchant recommendationdata to, for example, a client computing component that displays theadjusted merchant recommendation data.

In other implementations, the transaction affinity platform computingcomponents system may determine and store merchant parameter informationthat includes at least one of a distance parameter informationreflecting a geographic distance between the target merchant and eachmerchant in the set of recommended merchants, incentive parameterinformation reflecting an indication of an incentive offered by eachmerchant in the set of recommended merchants, traffic parameterinformation reflecting a level of traffic between the target merchantand each merchant in the set of recommended merchants, and merchantrating parameter information reflecting a satisfaction rating levelassociated with each merchant in the set of recommended merchants. Thetransaction affinity platform computing components may generateinformation used to provide an interface to receive the input parameterinformation. In one aspect, the input parameter information may includeat least one of a distance parameter priority value, an incentiveparameter priority value, a traffic parameter priority value, and amerchant rating parameter priority value.

Further, the transaction affinity platform computing components maydetermine the parameter weight value for each parameter in the set ofparameters based on the input parameter information by determining theparameter weight value for each parameter in the set of parameters basedon at least one of the distance parameter priority value, an incentiveparameter priority value, a traffic parameter priority value, and amerchant rating parameter priority value.

In certain aspects, the transaction affinity platform computingcomponents may determine the adjustment to the merchant recommendationdata by determining a current time information when the firstrecommended merchant is determined and determining that the merchantparameter information for the first recommended merchant reflects thatthe first recommended merchant is unavailable based on the current timeinformation. Further, the transaction affinity platform computingcomponents may analyze the merchant parameter information for apotential recommended merchant in the set of recommended merchants todetermine that the potential recommended merchant is available based onthe current time information. Based on the analysis of the merchantparameter information, the transaction affinity platform computingcomponents may identify the potential recommended merchant as the secondrecommended merchant.

In other implementations, the transaction affinity platform computingcomponents may determine and store information reflecting that the setof recommended merchants includes a first potential recommendedmerchant. The transaction affinity platform computing components mayalso generate the parameter information associated with the firstrecommended merchant to include a distance parameter value that reflectsa first distance between the target merchant and the first recommendedmerchant, and generate the parameter information associated with thefirst potential recommended merchant to include a distance parametervalue that reflects a second distance between the target merchant andthe first potential recommended merchant. The transaction affinityplatform computing components may determine the adjustment to themerchant recommendation data by analyzing the distance parameter valueassociated with the first potential recommended merchant and thedistance parameter value associated with the first recommended merchant,and also identifying the first potential recommended merchant as thesecond recommended merchant based on the comparison.

The transaction affinity platform computing components may alsodetermine an adjustment to the merchant recommendation data by analyzingmerchant parameter information associated with the merchants in the setof recommended merchants to determine that a potential recommendedmerchant in the set of recommended merchants is a merchant partner.Based on the determination that the potential recommended merchant isidentified as a merchant partner, the potential recommended merchant maybe identified as the second recommended merchant.

Moreover, in certain implementations, the transaction affinity platformcomputing components may determine the adjustment to the merchantrecommendation data by analyzing merchant parameter informationassociated with the merchants in the set of recommended merchants todetermine that a potential recommended merchant in the set ofrecommended merchants is a merchant partner associated with the firstaccount record. Based on the determination that the potentialrecommended merchant is identified as a merchant partner associated withthe first account record, the potential recommended merchant may beidentified as the second recommended merchant.

In other aspects, the transaction affinity platform computing componentsmay generate the second merchant recommendation data to include amerchant identifier for the second recommended merchant, parameterinformation associated with the second recommended merchant, andrecommendation message data reflecting information that conveys arecommendation of the second recommendation merchant. Further, thetransaction affinity platform computing components may provide thesecond merchant recommendation data to a computing device for display inan interface of a display device.

The above examples are not limiting, as other aspects and configurationsof the disclosed implementations are further described below. Forexample, the disclosed implementations may perform these and otherprocesses that may relate to transactions, such as transactionsassociated with a financial account (e.g., credit card account, checkingaccount, debit account, line of credit, etc.). In some instances,transactions may occur at brick and mortar locations such as a merchantlocation (e.g., a store location) that includes one or more computingsystems (e.g., point of sale computing devices, local server and/orclient computing systems, and the like) that perform processesconsistent with the features of the disclosed implementations. In otherinstances, transactions may occur through electronic communicationsbetween computing systems (e.g., online via a network such as theInternet), and thus may involve the electronic purchase of a service ora good remotely.

FIG. 1 is a block diagram of an exemplary system 100 for performing oneor more processes consistent with the disclosed implementations. In oneimplementation, system 100 may include a Transaction Affinity Platform(TAP) 110, one or more clients 120 (exemplary clients 120A and 120Bshown), one or more merchants 130 (exemplary merchants 130A and 130Bshown), and network 140. The configuration and arrangement of thecomponents in system 100 may vary. For example, system 100 may furtherinclude one or more service platform(s) (not shown) that providesinformation and service(s) for use by other components of system 100(e.g., transaction affinity platform 110, merchant 130, client 120,etc.). In certain aspects of the disclosed implementations, a componentmay refer to hardware, firmware, and/or software, or a combinationthereof.

In certain aspects, transaction affinity platform 110 may include one ormore computing systems arranged and configured to perform one or moreprocesses consistent with the disclosed implementations. For example,transaction affinity platform 110 may include one or more computingsystems configured to execute software instructions stored on one ormore memory devices to perform one or more processes consistent with oneor more of the disclosed features discussed below. In one example,transaction affinity platform 110 may be a system that is associatedwith an entity (e.g., company, organization, business, and the like)that provides one or more services. For instance, transaction affinityplatform 110 may be a system provided by and/or associated with anentity that offers and provides transaction affinity services and/orfunctionalities to users (e.g., account holders, members, or the like).Alternatively, or in addition, transaction affinity platform 110 may bea system that provides transaction affinity features for one or moreusers associated with the same entity that may host platform 110 (e.g.,employees of the hosting entity). In one non-limiting example,transaction affinity platform 110 may be a system provided by afinancial services provider that provides financial services, such as abank, credit card issuer, financial accounts, or other type of financialservice entity that generates, provides, manages, and/or maintainsfinancial service accounts for one or more users. In suchimplementations, financial service accounts may include, for example,credit card accounts, loan accounts, capital loan accounts, checkingaccounts, savings accounts, reward accounts, and any other types offinancial service accounts known to those skilled in the art. As anotherexample, transaction affinity platform 110 may be a system that isassociated with a merchant entity that offers and sells services oritems to one or more other entities and/or customers. The disclosedimplementations are not limited to the type of entity that may hosttransaction affinity platform 110 or provide transaction affinityfeatures consistent with the disclosed implementations.

In one aspect, transaction affinity platform 110 may include one or morecomputing systems that execute software instructions stored on one ormore memory devices to perform one or more processes consistent with thedisclosed embodiments. For example, transaction affinity platform 110may include one or more server computing devices that execute softwareinstructions stored in memory to perform one or more processesconsistent with the disclosed implementations. In one aspect, thetransaction affinity platform 110 server computing device(s) (e.g., TAPcomputing device(s)) may include one or more memory device(s) storingdata and software instructions, and one or more processor(s) programmedand configured to access the data and execute the software instructionsto perform processes consistent with the disclosed implementations. TheTAP computing device(s) may be standalone, or it may be part of asubsystem, which may be part of a larger system having other computingcomponents that may work collectively to perform one or more processesconsistent with the disclosed implementations. For example, transactionaffinity platform 110 may include distributed computing device(s) thatare remotely located and communicate over a communication link (e.g., alocal area network, wide-area network, secured network, public network,combination of secured and public network, etc.). In certain aspectswhere transaction affinity platform 110 is associated with an entity(hosting entity), the distributed computing device(s) may be distributedacross the entity (e.g., computing devices remotely located in differentgeographic locations associated with the hosting entity). In certainaspects, the configuration and/or programming, and other technicalaspects of how transaction affinity platform 110 is arranged may provideefficient and streamlined processing and delivery of informationconsistent with providing transaction affinity features of the disclosedimplementations.

In certain aspects, the TAP computing device(s) may include or mayconnect to one or more storage devices configured to store data and/orsoftware instructions used by one or more processors to perform one ormore processes consistent with disclosed embodiments. For example, theTAP computing device(s) may include memory configured to store one ormore software programs that performs functions when executed by one ormore processors. The disclosed implementations are not limited toseparate programs or computers configured to perform dedicatedprocesses. For example, the TAP computing device(s) may include memorythat stores a single program or multiple programs. Additionally, the TAPcomputing device(s) may execute one or more programs located remotelyfrom the TAP computing device(s) of transaction affinity platform 110.For example, the TAP computing device(s) may access one or more remoteprograms stored in memory included with a remote component that, whenexecuted, perform one or more processes consistent with the disclosedembodiments. In certain aspects, transaction affinity platform 110 mayinclude (or communicate and interface with) web server software andprocessing components that generate, maintain, and provide web site(s)that are accessible over network 140. In other aspects. Transactionaffinity platform 110 may connect to operate with one or more separateweb server(s) or similar computing devices that generate, maintain, andprovide web site(s) for use by transaction affinity platform 110 and/orother components of the entity hosting transaction affinity platform110.

In some implementations, transaction affinity platform 110 may includeprocessing components and/or software executed by one or more processorsthat provide functionalities for use with mobile computing deviceconsistent with the disclosed implementations. For example, transactionaffinity platform 110's TAP computing device(s) may include componentsthat provide data and/or processing instructions, messages, content,etc. to one or more mobile computing devices via, for example, network140. Examples of such mobile computing devices may include mobilephones, smart phones, personal digital assistants, tablets, laptops, orother types of mobile computing devices known to those or ordinary skillin the art. In certain aspects, the mobile computing devices thatoperate with the TAP computing device(s) may include one or moreprocessing components and/or software that are configured to provide oneor more processes consistent with the disclosed implementations.

In certain aspects, a user may operate, interact with (e.g., provideinput, commands, etc.) to one or more components of transaction affinityplatform 110 to perform one or more processes consistent with thedisclosed implementations. In one aspect, the user may be an employeeof, or associated with, the hosting entity (e.g., a person authorized touse one or more components of transaction affinity platform 110). Inother implementations, the user may not be an employee of, or otherwiseassociated with the hosting entity of transaction affinity platform 110.In further aspects, the user may be an employee of, or otherwiseassociated with, a third-party entity that provides services or itemsfor other users or entities. For example, the user may be an individualwho is employed by, or otherwise associated with, an entity thatprovides transaction affinity services consistent with disclosedimplementations that interfaces with and makes use of features providedby transaction affinity platform 110 (e.g., a business entity thatoffers transaction affinity services that is partnered with or has arelationship with the hosting entity of transaction affinity platform110). For example, transaction affinity platform 110 may be hosted by afirst entity that allows a second entity to access and use the featuresand functionalities provided by transaction affinity platform 110. Forinstance, the second entity may be a financial service provider and thefirst entity may be an entity that provides access to featuresconsistent with those provided by transaction affinity platform 110.

Client 120 (e.g., client 120A and 120B exemplary shown) may be acomputing system that connects to other components of system 100 toperform one or more processes consistent with the disclosedimplementations. For example, client 120 may be a computing device thatis operated by a user to provide, request, and/or receive informationfrom transaction affinity platform 110 or one or more other components,such as merchant 130. While referenced as a client, client 120 is notlimited to operating as a client in a typical and known client-servertype configuration. For example, in certain implementations, client 120may be a system that is configured to perform server-typefunctionalities, such as (for example), receive and process requests forproviding and/or processing information or services to other computingcomponents or programs, manage access to a resource (e.g., memory andinformation stored in the memory), and provide a response to suchrequests.

In certain aspects, client 120 may include one or more computing devicesthat perform data processing and electronic communications withcomponents over a communication link, such as network 140. For example,client 120 may include a personal desktop computer, laptop, notebook,tablet, smart phone, or any other device with data processing andelectronic communication capabilities that may perform one or moreprocesses consistent with the disclosed implementations. In someaspects, client 120 may be a wired or wireless device such as a PersonalData Assistant (PDA), cellular phone, mobile telephone, computing deviceconnected to a wired communication network (e.g., wired LAN line, etc.)through which a user may provide information (e.g., via an inputdevice).

Client 120 (e.g., client 120A, 120B) may include one or more computingdevices that execute software instructions stored in memory to performone or more processes consistent with the disclosed implementations. Forexample, client 120 may include one or more memory device(s) storingdata and software instructions and one or more processor(s) programmedand arranged to use the data and execute the software instructions toperform processes consistent with the disclosed implementations. Client120 may be may be standalone, or it may be part of a subsystem, whichmay be part of a larger system. For example, client 120 may represent adistributed system with processing components that are remotely locatedand communicate over a network (e.g., network 140). Alternatively,client 120 may be a system including processing components in a housingthat perform processes consistent with the disclosed implementations. Incertain aspects, client 120 may include one or more computing device(s)that operate as a client or similar computing device that interfaces andoperates in connection with other components of system 100, such astransaction affinity platform 110. The type and configuration of client120 is not limiting to the disclosed implementations. Moreover, incertain aspects, a user may operate client 120 to perform one or moreprocesses consistent with the disclosed implementations. For example, auser may access, use, and otherwise operate client 120 (e.g., client120A) to perform processes such as, data entry and transmission vianetwork 140 to transaction affinity platform 110 and/or merchant 130. Incertain implementations, client 120 may be a mobile computing devicethat is carried by a user while performing actions and events, such as asmart phone that is carried with a user while performing transactionswith one or more merchants.

Merchant 130 (merchant 130A, 130B exemplary shown) may be one or morecomputing system(s) that perform one or more merchant processesconsistent with disclosed implementations. For example, merchant 130 maybe a computing system that connects to other components of system 100 tocommunicate and/or process information in accordance with certainfeatures of the disclosed implementations. Merchant 130 may beassociated with an entity that offers and provides services or goods toone or more entities or users. In certain aspects, for example, merchant130 may be a computing system associated with a brick and mortarmerchant location (e.g., a merchant store location with computingdevices, infrastructure, etc.) where a user (e.g., a user of client 120)may physically visit to purchase service(s) or good(s). In otheraspects, merchant 130 may be a computing system(s) that provides anonline portal (e.g., web site, etc.) that provides a mechanism for usersto review, request, and purchase service(s) or good(s) via client 120consistent with disclosed implementations. Thus, in certain aspects,merchant 130 may include one or more web servers that generate,maintain, and manage web site pages that provide interfaces that areaccessed by users, via client 120 using browser software (or othersoftware) executing in the computing components of client 120.

In some aspects, merchant 130 may include one or more computing devicesthat execute software instructions stored in memory to perform one ormore processes consistent with the disclosed implementations. In oneaspect, the merchant 130 computing device(s) may include one or morememory device(s) storing data and software instructions, and one or moreprocessor(s) programmed and configured to access the data and executethe software instructions to perform one or more processes consistentwith the disclosed implementations. The merchant 130 computing device(s)may be standalone, or it may be part of a subsystem, which may be partof a larger system having other computing components that may workcollectively to perform one or more processes consistent with thedisclosed implementations. For example, merchant 130 may includedistributed computing devices that are remotely located and communicateover a communication link (e.g., a local area network, wide-areanetwork, secured network, public network, combination of secured andpublic network, etc.). For example, the distributed merchant 130computing devices may be distributed across the entity (e.g., computingdevices remotely located in different geographic locations associatedwith the hosting entity). In certain aspects, the configuration and/orprogramming, and other technical aspects of how merchant 130 is arrangedmay provide efficient and streamlined processing and delivery ofinformation consistent with providing transaction affinity features ofthe disclosed implementations.

In certain aspects, the merchant 130 computing device(s) may includeand/or connect to one or more storage devices that store data and/orsoftware instructions used by one or more processors to perform one ormore processes consistent with disclosed embodiments. For example, themerchant 130 computing device(s) may include memory that stores one ormore software programs that performs functions when executed by one ormore processors. The disclosed implementations are not limited toseparate programs or computers configured to perform dedicatedprocesses. For example, the merchant 130 computing device(s) may includememory that stores a single program or multiple programs. Additionally,the merchant 130 computing device(s) may execute one or more programslocated remotely from the merchant 130 computing device(s). Merchant 130computing device(s) may access one or more remote programs stored inmemory included with a remote component that, when executed, perform oneor more processes consistent with the disclosed embodiments. In certainaspects, merchant 130 may include (or communicate and interface with)web server software and processing components that generate, maintain,and provide web site(s) that are accessible over network 140. In otheraspects. merchant 130 may connect to operate with one or more separateweb server(s) or similar computing devices that generate, maintain, andprovide web site(s) for use by merchant 130 and/or other components ofthe entity hosting merchant 130. In some implementations, merchant 130may include processing components and/or software executed by one ormore processors that provide functionalities for use with a mobilecomputing device consistent with the disclosed implementations. Forexample, merchant 130's computing device(s) may include components thatprovide data and/or processing instructions, messages, content, etc. toone or more mobile computing devices via, for example, network 140. Suchmobile computing devices may include mobile phones, smart phonespersonal digital assistants, tablets, laptops, or other types of mobilecomputing devices known to those or ordinary skill in the art. Incertain aspects, the mobile computing devices that operate with themerchant 130 computing device(s) may include one or more processingcomponents and/or software that provide one or more processes consistentwith the disclosed implementations.

In certain aspects, a user may operate one or more components of thehosting entity of merchant 130 to perform one or more one or moreprocesses consistent with the disclosed implementations. In one aspect,the user may be an employee of, or associated with, the hosting entity(e.g., a person authorized to use one or more components of merchant130). In other implementations, the user may not be an employee of, oris otherwise associated with the hosting entity of merchant 130. Infurther aspects, the user may be an employee of, or otherwise associatedwith, a third-party entity that provides services or items for otherusers or entities. For example, the user may be an individual employedor otherwise associated with an entity that provides transactionaffinity services consistent with disclosed implementations thatinterfaces with and makes use of features provided by merchant 130(e.g., a business entity that offers transaction affinity services thatis partnered with or has a relationship with the hosting entity ofmerchant 130). For example, in one aspect, merchant 130 may be hosted bya first entity that allows a second entity to access and use thefeatures and functionalities provided by merchant 130. For instance, thesecond entity may be an entity that provides transaction affinityservices and features consistent with those provided by transactionaffinity platform 110, and the first entity may be a merchant entitythat provides transaction affinity features to user(s) (e.g.,customer(s) of the hosting entity of merchant 130), which may beconsistent with those provided by transaction affinity platform 110.

The disclosed implementations of system 100 may include differentmerchants 130 associated with different merchant entities. For example,merchant 130B may be a first merchant entity that provides certain typesof service(s) and/or goods (e.g., a home improvement store), andmerchant 130A may be a second merchant entity, different from merchant130B, that provides similar and/or different types of service(s) and/orgoods (e.g., a supermarket, a pharmacy, a refueling station, etc.)

Network 140 may be any type of network configured to providecommunications between components of system 100. For example, network100 may be any type of network (including infrastructure) that providescommunications, exchanges information, and/or facilitates the exchangeof information, such as the Internet, a Local Area Network, or othersuitable connection(s) that enables the sending and receiving ofinformation between the components of system 100, and/or combinations ofnetworks (e.g., public network and private networks). In otherimplementations, one or more components of system 100 may communicatedirectly through a dedicated communication link(s), such as theexemplary links between transaction affinity platform 110 and client120A and between transaction affinity platform 110 and merchant 130.Network 140 may include wired or wireless communication paths andinfrastructures, or combinations of both. Thus, for example, network 140may include wireless communication paths and infrastructure and wiredcommunication paths and infrastructure to allow client 120B towirelessly communicate with another component of system 100 (e.g.,merchant 130A). For instance, merchant 130 may include network interfacecomponents that connect to portions of network 140 that may facilitateprivate network and public network communications, protocols, etc.Similar arrangements may apply to other components of system 100 (e.g.,transaction affinity platform 110, etc.).

FIG. 2 shows an exemplary transaction affinity platform 110 consistentwith disclosed implementations. In one aspect, transaction affinityplatform 110 may include a computing system 211 having one or moreprocessors 221, one or more memories 223, one or more TransactionAffinity Platform (TAP) components 222, and one or more input/output(I/O) components 228. Computing system 211 may include components of acomputing system not shown that enable computing system 211 to generate,store, process, and receive information in accordance with the disclosedimplementations. Computing system 211 may be standalone, or it may bepart of a subsystem, which may be part of a larger system. Computingsystem 211 may correspond to the computing device(s) discussed above inconnection with FIG. 1 and transaction affinity platform 110 in system100.

Processor(s) 221 may include one or more processing devices configuredto perform one or more processes consistent with disclosedimplementations. For example, processor(s) 221 may be programmedprocessor(s) that are configured to execute software instructions andprocess data to provide transaction affinity functionalities. In certainaspects, processor(s) 221 may be configured to operate with one or moreTAP components 222 to provide one or more processes consistent with thetransaction affinity features of the disclosed implementations. Thedisclosed implementations are not limited to any type of processor(s)configured in computing system 211.

TAP components 222 may include one or more computing components thatperform transaction affinity processes consistent with disclosedimplementations. For example, TAP components 222 may include softwarecomponents (e.g., software instructions in a program, collection ofinter-related programs, etc.) executed by processor(s) 221 to performone or more processes consistent with disclosed implementations. In oneaspect, software TAP components may be stored in memory 223 as part ofsoftware components 224 (disclosed below). In other aspects, softwareTAP components may be stored in one or more memory device(s) as part ofTAP components 222. Moreover, TAP components 222 may include one or morecomputing TAP components that are configured to provide one or moreprocesses consistent with disclosed implementations. For instance, TAPcomponents 222 may include processing device(s), circuitry, and the likethat are configured, programmed, and/or arranged to provide efficienttransaction affinity processes and information. For instance, TAPcomponents 222 may include processing device(s) that are arranged andprogrammed to process transaction affinity data that conserves the useof other resource(s) of transaction affinity platform 110, such asprocessor(s) 221, memory 224, etc. TAP components 222 may operateindependent of, or in conjunction with, other components of computingsystem 211, such as processor(s) 221, I/O components 228, and memory223, etc.

Memory 223 may include one or more storage devices that storeinstructions that may be used by processor(s) 221 and/or TAP components222 to perform functions related to disclosed implementations. Forexample, memory 223 may include one or more software instructions, suchas software components 224 that may perform one or more processes whenexecuted by processor 221 and/or by processing component(s) of TAPcomponents 222. In certain aspects, memory 223 may include a singleprogram 224 that performs the functions of the computing system 211, orprogram 224 could comprise multiple programs. Additionally, processor(s)221 may execute one or more programs located remotely from computingsystem 211. For example, transaction affinity platform 110, viacomputing system 211, may access one or more remote programs that, whenexecuted, perform functions related to certain disclosedimplementations.

Memory 223 may also store data 225 that may reflect any type ofinformation in one or more formats that transaction affinity platform110 may use to perform transaction affinity functions. For example, data225 may include transaction data associated with one or more users oftransaction affinity platform 110 (e.g., clients 120A and/or 120B).

I/O components 228 may be one or more devices and related softwareconfigured to allow information to be received and/or transmitted bycomputing system 211. I/O components 228 may include one or more digitaland/or analog communication devices that allow computing system 211 tocommunicate with other components of system 100 (e.g., clients 120A,120B, merchants 130A, 130B, etc.) and/or components of transactionaffinity platform 110.

Computing system 211 may be communicatively connected to one or moredatabase(s) 227. Computing system 211 may be communicatively connectedto database(s) 227 through network 140 or may be connected todatabase(s) 227 via other components (e.g., TAP component(s) 222.)Database(s) 227 may include one or more memory devices that storeinformation and are accessed and/or managed through computing system211. The databases may include, for example, data and informationrelated to the source and destination of a network request, the datacontained in the request, and other aspects consistent with disclosedimplementations. Systems and methods consistent with the disclosedimplementations, however, are not limited to the use of separatedatabases 227. In one aspect, transaction affinity platform 110 mayinclude database 227. Alternatively, database 227 may be locatedremotely from transaction affinity platform 110. Database 227 mayinclude one or more computing components (e.g., database managementsystem, database server(s), etc.) configured to receive and processrequests for data stored in memory devices of database(s) 227 and toprovide data from database 227. In other aspects, TAP components 222 mayinclude component(s) that provide database management, access,manipulation, and processing of information in database(s) 227 inmanners consistent with the disclosed implementations.

FIG. 3 shows an exemplary client 120 (e.g., client 120A or 120B). In oneembodiment, client 120 may include a computing system 311 having one ormore processors 321, one or more memories 323, one or more TAPcomponents 322, and one or more input/output (I/O) devices 328.Computing system 311 may be standalone, or it may be part of asubsystem, which may be part of a larger system.

Processor(s) 321 may include one or more processing devices that performone or more processes consistent with disclosed implementations. Forexample, processor(s) 321 may be programmed processor(s) that executesoftware instructions and process data to provide transaction affinityfunctionalities. In certain aspects, processor(s) 321 may operate withone or more TAP components 322 to provide one or more processesconsistent with the transaction affinity features of the disclosedimplementations. The disclosed implementations are not limited to anytype of processor(s) configured in computing system 311.

TAP components 322 may include one or more computing components thatperform transaction affinity processes consistent with disclosedimplementations. For example, TAP components 322 may include softwarecomponents (e.g., software instructions in a program, collection ofinter-related programs, etc.) executed by processor(s) 321 to performone or more processes consistent with disclosed implementations. In oneaspect, software TAP components 322 may be stored in memory 323 as partof software components 324 (disclosed below). In other aspects, softwareTAP components 322 may be stored in one or more memory device(s) as partof TAP components 322. Moreover, TAP components 322 may include one ormore computing TAP components that are configured to provide one or moreprocesses consistent with disclosed implementations. For instance, TAPcomponents 322 may include (in addition to, or alternative to, softwareTAP components), processing device(s), circuitry, and the like that areconfigured, programmed, and/or arranged to provide efficient transactionaffinity processes and information. For instance, TAP components 322 mayinclude processing device(s) that are arranged and programmed to processtransaction affinity data that conserves the use of other resource(s) oftransaction affinity platform 110, such as processor(s) 321, memory 324,etc. TAP components 322 may operate independent of, or in conjunctionwith, other components of computing system 311, such as processor(s)321, I/O components 328, and memory 323, etc.

Memory 323 may include one or more storage devices configured to storeinstructions used by processor 321 to perform functions related todisclosed embodiments. For example, memory 323 may include one or moresoftware instructions, such as software components 324 that may performone or more processes when executed by processor(s) 321. The disclosedembodiments are not limited to separate programs or computers configuredto perform dedicated tasks. For example, memory 323 may include a singleprogram 324 that performs the functions of the computing system 311, orprogram 324 could comprise multiple programs. Additionally, processor(s)321 may execute one or more programs located remotely from computingsystem 311. Memory 323 may also store data 325 that may reflect any typeof information in one or more formats that client 120 and/or transactionaffinity platform 110 may use to perform transaction affinity functions.For example, data 325 may include transaction data associated with oneor more users of client 120.

I/O components 328 may be one or more devices and related software thatreceives and/or transmits information by/from computing system 311. I/Ocomponents 328 may include one or more digital and/or analogcommunication devices that allow computing system 311 to communicatewith other components of system 100 and/or components of client 120, I/Ocomponents 328 may include interface components that enable a user ofclient 120 to input and review information. For example, I/O components328 may include one or more display device(s) for presenting informationto a user, one or more input device(s) (e.g., keyboard, touch screentechnologies, mouse input components, etc.) to allow a user of client120 to input information to computing system 311.

Computing system 311 may be communicatively connected to one or moredatabase(s) 327. Computing system 311 may be communicatively connectedto database(s) 327 through network 140 or may be connected todatabase(s) 327 via other components (e.g., TAP component(s) 322.)Database 327 may include one or more memory devices that storeinformation and are accessed and/or managed through computing system311. Database 327 may include, for example, data and information relatedto the source and destination of a network request, the data containedin the request, and other aspects consistent with disclosedimplementations. Systems and methods consistent with the disclosedimplementations, however, are not limited to the use separate databases327. In one aspect, client 120 may include database 327. Alternatively,database 327 may be located remotely from client 120. Database 327 mayinclude one or more computing components (e.g., database managementsystem, database server(s), etc.) configured to receive and processrequests for data stored in memory devices of database(s) 327 and toprovide data from database 327. In other aspects, TAP components 322 mayinclude component(s) that provide database management, access,manipulation, and processing of information in database(s) 327 inmanners consistent with the disclosed implementations.

Certain disclosed implementations may operate to allow client 120 tocommunicate with merchant 130 and transaction affinity platform 110. Forexample, computing system 110 may perform processes to enable a user ofclient 120 to interface with merchant 130 to perform one or moretransactions (e.g., purchase transactions, or other types oftransactions). TAP components 322 may perform one or more transactionaffinity processes independent of, or in conjunction with, transactionaffinity platform 110 and/or merchant 130. The disclosed implementationsthus include, for example, systems, tangible computer-readable mediums,and methods for providing transaction affinity features consistent withthose disclosed herein.

For example, in certain aspects, the disclosed implementations mayenable client 120 to communicate with merchant 130 to perform a purchasetransaction. For instance, merchant 130 may process the transaction fora user of client 120, merchant 130 by requesting information (e.g.,account information) associated with the user of client 120, todetermine the user's ability to pay the service and/or good associatedwith the purchase transaction. The disclosed implementations may includemethods and systems that allow client 120 to exchange information withmerchant 130 that may be used by transaction affinity platform 110 todetermine, analyze, generate, approve, process, and manage the purchasetransaction, and to subsequently provide transaction affinity features.

FIG. 4 shows an exemplary merchant 130 consistent with disclosedimplementations. In one aspect, merchant 130 may include a computingsystem 411 having one or more processors 421, one or more memories 423,one or more Transaction Affinity Platform (TAP) components 422, and oneor more input/output (I/O) components (not shown). Computing system 411may include components of a computing system not shown that enablesystem 411 to generate, store, process, and receive information inaccordance with the disclosed implementations. Computing system 411 maybe standalone, or it may be part of a subsystem, which may be part of alarger system.

Processor(s) 421 may include one or more processing devices that performone or more processes consistent with disclosed implementations. Forexample, processor(s) 421 may be programmed processor(s) that executesoftware instructions and process data to provide transaction affinityfunctionalities. In certain aspects, processor(s) 421 may operate withone or more TAP components 422 to provide one or more processesconsistent with the transaction affinity features of the disclosedimplementations. The disclosed implementations are not limited to anytype of processor(s) configured in computing system 411.

TAP components 422 may include one or more computing components thatperform transaction affinity processes consistent with disclosedimplementations. For example, TAP components may include softwarecomponents (e.g., software instructions in a program, collection ofinter-related programs, etc.) executed by processor(s) 421 to performone or more processes consistent with disclosed implementations. In oneaspect, software TAP components may be stored in memory 423 as part ofsoftware components 424 (disclosed below). In other aspects, softwareTAP components may be stored in one or more memory device(s) as part ofTAP components 422. Moreover, TAP components 422 may include one or morecomputing TAP components that provide one or more processes consistentwith disclosed implementations. For instance, TAP components 422 mayinclude (in addition to, or alternative to, software TAP components),processing device(s), circuitry, and the like that are configured,programmed, and/or arranged to provide efficient transaction affinityprocesses and information. For instance, TAP components 422 may includeprocessing device(s) that are arranged and programmed to processtransaction affinity data that conserves the use of other resource(s) ofmerchant 130, such as processor(s) 421, memory 424, etc. TAP components422 may operate independent of, or in conjunction with, other componentsof computing system 411, such as processor(s) 421, and memory 423, etc.

Memory 423 may include one or more storage devices that storeinstructions that may be used by processor(s) 421 and/or TAP components422 to perform functions related to disclosed implementations. Forexample, memory 423 may be include one or more software instructions,such as program(s) 424 that may perform one or more processes whenexecuted by processor 421 and/or by processing component(s) of TAPcomponents 422. The disclosed embodiments are not limited to separateprograms or computers configured to perform dedicated tasks. Forexample, memory 423 may include a single program 424 that performs thefunctions of the computing system 411, or program 424 could comprisemultiple programs. Additionally, processor(s) 421 may execute one ormore programs located remotely from computing system 411. For example,merchant 130, via computing system 411, may access one or more remoteprograms that, when executed, perform functions related to certaindisclosed implementations. Memory 423 may also store data 425 that mayreflect any type of information in one or more formats that merchant 130may use to perform transaction affinity functions. For example, data 425may include transaction data associated with one or more users ofclient(s) 120 (e.g., clients 120A and/or 120B).

As part of, or in addition to, the components of computing system 411(e.g., processor(s) 421, TAP components 422, memory 423, database(s)427), merchant 130 may include one or more components that performprocesses consistent with purchase transactions. For example, merchant130 may include computing component(s) and/or software component(s) thatprovide point-of-sale (POS) functionalities. Such POS functionalitiesmay be associated with POS components for brick-and-mortar merchantlocations (e.g., a POS used at a checkout of a physical store) or can beassociated with online checkout processes and functionalities. Such POScomponents may perform one or more processes to allow a user of client120 to initiate, perform, and complete purchase transactions. In certainaspects, the POS components may perform one or more processes consistentwith the disclosed implementations.

The I/O components that may be included computing system 411 may be oneor more devices and related software configured to allow information tobe received and/or transmitted by computing system 411. Such I/Ocomponents may include one or more digital and/or analog communicationdevices that allow computing system 411 to communicate with othercomponents of system 100 and/or components of merchant 130, such asclients 120A, 120B, transaction affinity platform 110, etc.

Computing system 411 may be communicatively connected to one or moredatabase(s) 427. Computing system 411 may be communicatively connectedto database(s) 427 through network 140 or may be connected todatabase(s) 427 via other components (e.g., TAP component(s) 422.)Database 427 may include one or more memory devices that storeinformation and are accessed and/or managed through computing system411. Database 427 may include, for example, data and information relatedto the source and destination of a network request, the data containedin the request, and other aspects consistent with disclosedimplementations. Systems and methods consistent with the disclosedimplementations, however, are not limited to the use of separatedatabases 427. In one aspect, merchant 130 may include database 427.Alternatively, database 427 may be located remotely from merchant 130.Database 427 may include one or more computing components (e.g.,database management system, database server(s), etc.) that receive andprocess requests for data stored in memory devices of database(s) 427and to provide data from database 427. In other aspects, TAP components422 may include component(s) that provide database management, access,manipulation, and processing of information in database(s) 427 inmanners consistent with the disclosed implementations.

FIG. 5 is a flow chart of an exemplary transaction affinity process 500that one or more components of system 100 may perform consistent withcertain disclosed implementations. For exemplary purposes only, thedescription of the features and processes associated with thetransaction affinity process of FIG. 5 is described as performed bytransaction affinity platform 110. The disclosed implementations,however, are not so limited. For example, client 120 (including e.g.,computing system 311) and/or merchant 130 (including e.g., computingsystem 411) may execute one or more processes associated withtransaction affinity process 500. In certain aspects, client 120,merchant 130, and/or transaction affinity platform 110 may individuallyor collectively perform some or all the processes associated withtransaction affinity process 500. In certain implementations, TAPcomponents 222 of transaction affinity platform 110 may perform one ormore of the processes of transaction affinity process 500. In addition,or alternatively, TAP components of client 120 and/or merchant 130(e.g., TAP components 322, 422, respectively) may perform one or more ofthe processes of transaction affinity process 500. Moreover, thedisclosed implementations are not limited to the sequence or number ofprocess steps as shown in FIG. 5.

In certain aspects, transaction affinity platform 110 may initiatetransaction affinity process 500. This may occur in response to arequest to provide transaction affinity data from a component of system100, including components included in transaction affinity platform 110.For example, in one aspect, merchant 130 and/or client 120 may generateand send a transaction affinity request over network 140 to transactionaffinity platform 110 which causes computing system 211 to performprocess 500. In another aspect, transaction affinity platform 110 mayreceive information, message, etc. from merchant 130 and/or client 120that identifies one or more transactions associated with stored recordsfor the user of client 120 (e.g., a user account). In another aspect,other computing components of the host entity of transaction affinityplatform 110 may receive a request for transaction affinity data and inturn direct transaction affinity platform 110 to perform process 500.Alternatively, transaction affinity platform 110 may be configured tomonitor transaction activity of a user of client 120 and automaticallyperform one or more processes of transaction affinity process 500,consistent with the disclosed implementations.

In one aspect, transaction affinity platform 110 may collect transactionaffinity data (Step 510). For example, transaction affinity platform 110may be configured to monitor activity of an account associated with auser of client 120 (e.g., client 120A). For instance, transactionaffinity platform 110 may be associated with a financial serviceprovider that creates, maintains, manages, and processes accounts formany users (e.g., customers). In some instances, the user of client 120Amay use client 120A to perform transactions associated with the user'saccount. Thus, in certain aspects of the disclosed implementations, theuser may use client 120A to perform an online purchase transaction usinga credit card account provided by a financial service provider. Client120A may also be used to perform a purchase transaction using the creditcard account at a brick and mortar merchant, such as a mobile phone thatelectronically communicates with a computing system of merchant 130(e.g., computing system 411 of merchant 130A) to perform the purchasetransaction using the credit card account at a physical merchantlocation. Transaction affinity platform 110 may thus, in certainaspects, access, analyze, and process transaction data associated with auser account to identify and collect transaction affinity data. Incertain implementations, the collection of transaction affinity data mayinclude collecting transaction affinity data for multiple user accounts.For example, transaction affinity platform 110 may monitor activity ofrespective accounts associated with the same user, or different users.For instance, transaction affinity platform 110 may receive, access, orotherwise obtain transaction data associated with a user account of theuser associated with client 120A and of a user account associated withclient 120B, and identify and collect transaction affinity dataassociated with the respective user accounts. The discussions belowrelating to FIG. 6 describe an exemplary transaction affinity datacollection process 600 consistent with disclosed implementations.

Transaction affinity platform 110 may also determine trip transactiondata (Step 520). For instance, transaction affinity platform 110 mayperform processes to determine a temporal relationship betweentransactions in the collected transition affinity data according to oneor more parameters. In one aspect, transaction affinity platform 110 mayanalyze relationships between transactions associated with a useraccount (or multiple user accounts). Based on the analysis, transactionaffinity platform 110 may determine trip transaction data for use indetermining transaction affinity relationships in accordance withdisclosed implementations. For example, transaction affinity platform110 may determine whether the time between a group of transactions iswithin one or more determined threshold values, and if so, identify arelationship between the transactions. Transaction affinity platform 110may also analyze the type of merchant associated with the assessedtransactions to identify relationships between the transactions.Transaction affinity platform 110 may further analyze other informationto identify transaction relationships, such as the date, merchantlocation (e.g., physical and/or online virtual location (e.g., websiteaddress, etc.)), and other information. The descriptions below relatingto FIG. 7 explain an exemplary trip transaction data determinationprocess 700 consistent with disclosed implementations.

Transaction affinity process 500 may also include determiningtransaction affinity relationships (Step 530). For example, in certainaspects, transaction affinity platform 110 may analyze the triptransaction data to determine transaction affinity relationships betweentransactions for the user account(s) under assessment. In certainaspects, transaction affinity platform 110 may identify and determinethe number of times a user account (or multiple accounts for the user)was used in transactions associated with certain merchants included inthe trip transaction data. Based on that analysis, transaction affinityplatform 110 may determine transaction affinity relationships associatedwith a set of transactions. In certain aspects, the disclosedimplementations involve processing the determined transaction affinityrelationship information to provide information for presentation to auser of client 120, to merchant 130, or to other components of system100. In other aspects, the determined transaction affinity relationshipinformation may be used to perform additional processes consistent withthe disclosed implementations. The discussions below relating to FIG. 8describe an exemplary transaction affinity relationships determinationprocess 800 consistent with disclosed implementations.

FIG. 6 is a flow chart of a transaction affinity data collection process600 that one or more components of system 100 may perform consistentwith certain disclosed implementations. For exemplary purposes, thedescription of the features and processes associated with thetransaction affinity data collection process 600 of FIG. 6 is describedbelow as being performed by transaction affinity platform 110. Thedisclosed implementations, however, are not so limited. For example,client 120 (including e.g., computing system 311) and/or merchant 130(including e.g., computing system 411) may execute software to performone or more processes associated with transaction affinity datacollection process 600. In certain aspects, client 120, merchant 130,and/or transaction affinity platform 110 may individually orcollectively perform some or all the processes associated withtransaction affinity data collection process 600. In certainimplementations, TAP components 222 of transaction affinity platform 110may perform one or more of the processes of transaction affinity datacollection process 600. In addition, or alternatively, TAP components ofclient 120 and/or merchant 130 (e.g., TAP components 322, 422,respectively) may perform one or more of the processes of transactionaffinity data collection process 600. Moreover, the disclosedimplementations are not limited to the sequence and/or number of processsteps shown in FIG. 6.

In one aspect, transaction affinity data collection process 600 mayinclude analyzing transaction data (Step 610). In certainimplementations, TAP components 222 may request transaction dataassociated with a user account that has been collected by transactionaffinity platform 110 or components of the host entity of transactionaffinity platform 110. For instance, TAP components 222 may includesoftware components executed by computing components that request accessto and/or receive transaction data associated with a user of client 120,such as a user account.

For example, a user of client 120A may have one or more financialaccounts provided by an account provider, such as a financial serviceprovider that provides one or more accounts to one or more users thatcan be used to perform one or more transactions (e.g., purchasetransactions, etc.). In one aspect, the account provider may be the hostof transaction affinity platform 110. In other aspects, the accountprovider may not host or otherwise provide transaction affinity platform110. In either case, the user may operate and interact with client 120Ato perform a purchase transaction using a first user account provided bythe account provider. As an example, the user of client 120A may visit amerchant location associated with merchant 130A to purchase one or moreitems. During check out, the user may present an instrument (e.g.,credit card, etc.) associated with the user account to purchase theitems using a POS device provided by the merchant, which may beassociated with merchant 130A. The POS device may facilitate thepurchase transaction to perform known purchase transaction processes.For instance, merchant 130A may be include software and computingcomponents that perform known purchase transaction processes, includingcommunicating with verification network components and a financialservice account provider to authorize the purchase transaction. Once thepurchase transaction is completed, merchant 130A, or a componentassociated with the merchant, may provide transaction data associatedwith the user's purchase transaction with the user account. Thetransaction data may include information such as time stamp data (e.g.,date, time), account number data, merchant data (e.g., location,identifier, etc.), and other known transaction information. The accountprovider may receive and store the transaction data in memory (e.g., adatabase) that maintains transaction information for user accounts. Inone implementation, the account provider may include computingcomponents that perform transaction data processing, storing, andmanagement. In other implementations, transaction affinity platform 110may include components (e.g., TAP components 222) that request andreceive the transaction data for a user account (or multiple useraccounts.). Alternatively, the account provider computing components mayautomatically push the transaction data to memory that is accessible bytransaction affinity platform 110, such as database 127 and/or memory123.

In some aspects, TAP components 222 may include software components thatare executed by one or more processors (e.g., processors 221 orcomputing components of TAP components 222) that request and receivetransaction data associated with one or more user accounts. For example,database 227 may store transaction data for transactions associated witha user account. TAP components 222 may be configured to perform one ormore aspects of process 600 in response to a notification thattransaction data has been received and stored in database 227.Alternatively, TAP components may be configured to perform one or moreaspects of process 600 in response to a notification that is providedafter a predetermined period of time, or after a predetermined number oftransactions associated with the user account have been stored (oradded) to database 227.

Once transaction data is available (e.g., stored in database 227), TAPcomponents 222 may analyze transaction data for a transaction (Step 610)to determine whether the transaction is an affinity transaction (Step620). An affinity transaction is a transaction that is to be consideredfor transaction affinity processing in accordance with the disclosedimplementations. In one aspect, affinity transaction platform 110 maydetermine whether one or more transactions of a user account qualify foraffinity transaction processing. For instance, the account provider ofthe user account may provide an option to the user of client 120A (e.g.,the account holder) whether they wish to receive transaction affinityservices. If so, transaction affinity platform 110 may maintain data ina user account profile that identifies the user's account as oneeligible for transaction affinity processing. In other implementations,transaction affinity platform 110 may automatically identify alltransaction of the user's account as qualifying affinity transactionsfor processing. In such instances, process 600 may be configured to skipsuch analysis and step 620. In other aspects, transaction affinityplatform 110 may be configured to execute processes that identifytransactions associated with the user's account as affinity transactionsbased on one or more parameters, which may be stored in the user accountprofile. For example, transaction affinity platform 110 may performprocesses that identify user account transactions based on a temporalparameter (e.g., only identify transactions for processing based oncertain dates, date ranges, time of day, time of day ranges, etc.).

Once a selected transaction is identified as an affinity transaction(Step 620, Yes; or automatically identified as an affinity transactionas discussed above), TAP components 222 may generate transactionaffinity data (Step 630). In one implementation, TAP components 222 maygenerate transaction affinity data by parsing the transaction data ofthe current transaction under analysis to collect data used by thetransaction affinity processes consistent with the disclosedimplementations. For example, TAP components may execute processes thatextracts data and generates affinity data from the transaction record,such as time stamp information (date, time of transaction), accountidentification data, amount of transaction (e.g., if a purchasetransaction), merchant identification data, merchant locationinformation, etc. In some instances, TAP components 222 may generateaffinity data based on information in the transaction data. For example,TAP components 222 may execute processes that determines a merchantcategory based on the merchant identifier and/or merchant locationinformation obtained from the transaction data. In one aspect,transaction affinity platform 110 may maintain, or have access to, adata structure stored in memory of merchant category information thatidentifies one or more categories for merchants. A merchant category maybe an identifier (textual, numeric, alpha-numeric, etc.) that isassociated with an industry, product, retailer industry, service, etc.For instance, a first merchant category may be associated with homeimprovement goods/services, a second merchant category may be associatedwith grocery retailers, a third merchant category may be associated withvehicle repair, a fourth merchant category may be associated with airtravel services, a fifth merchant category may be associated withlodging services, etc. The type of merchant category is not limited tothe above examples, which are provided for exemplary purposes only.

In certain implementations, TAP components 222 may access the datastructure to collect the merchant category data for the merchantincluded in the transaction data under analysis. The merchant categorydata may be generated by transaction affinity platform 110, by othercomponent(s) of the host entity (e.g., account provider) of platform110, or be provided by the merchant. Thus, in one aspect, transactionaffinity platform 110 may access a merchant category table thatidentifies certain categories for one or more merchants (e.g., merchantsassociated with merchant 130A, 130B). Based on the information, TAPcomponents 222 may add the merchant category data to the set oftransaction affinity data for the transaction under analysis.

In other embodiments, other affinity data may be generated by TAPcomponents 222. For example, if the transaction data for the transactionunder analysis does not provide the merchant location information (e.g.,if the purchase transaction was an online transaction, and the web siteaddress associated with the merchant is unknown), TAP components 222 mayexecute software components that perform processes for obtaining the website address of the merchant involved with the purchase transaction. Inone aspect, TAP components 222 may parse the transaction data to obtainthe identifier and name of the merchant, and check a data structure ofstored web site address information mapped to merchant identifiersand/or names. The merchant web site address data structure may be storedin memory 223, database 227, or may be provided by components externalto transaction affinity platform 110, such as a third-party provider ofsuch information accessible over network 140.

Once the transaction affinity data is generated for a given transaction,TAP components 222 may store the transaction affinity data in memory(e.g., memory 223, database 127, and/or another storage device locatedwithin or external to transaction affinity platform 110). TAP components222 may perform one or more processes that determine whether anothertransaction is available for analysis (Step 640), and if so (Step 640;YES), process 600 may continue to process Step 610 to analyze thetransaction data for the next user account transaction in a mannerconsistent with the disclosed embodiments. If, however, no moretransactions are available for analysis (Step 640; NO), TAP components222 may configure and store a transaction affinity data set in memory(Step 650).

FIG. 7 shows a block diagram of a non-limiting exemplary set oftransaction affinity data 700 for a user account consistent withdisclosed implementations. As shown, the set of transaction affinitydata 700 may include one or more data fields including transaction datafor each transaction in a set of transactions analyzed by TAP components222 as discussed above. While transaction affinity data set 700 showsfive transactions, the disclosed implementations are not limited to thenumber of transactions that may be included in the set. For example,depending on one or more parameters that may control what transactionsare collected and stored, and on one or more parameters that may controlwhat transaction affinity data is collected from the transaction data,the number and type of information maintained in transaction affinitydata set 700 may vary. In some aspects, the data fields may include atransaction identifier (ID) field 710, an account identifier field 720,a transaction amount field 730, a transaction time field 740, a merchantidentifier field 750, a merchant category field 760, and a merchantlocation field 770. In some implementations, transaction identifierfield 710 may be a unique identifier assigned to each transaction in thetransaction affinity data set 700. Account identifier field 720 mayinclude data identifying the account used in the transaction, such as anaccount number or other information identifying the account used in thetransaction. Amount field 730 may include a purchase amount of thetransaction (if the transaction is a purchase transaction). Transactiontime field 740 may include time data reflecting when the transactionoccurred (e.g., time and/or date data, etc.). Merchant identifier field750 may include an identifier for the merchant involved in thetransaction. Merchant category field 760 may be the merchant categoryidentifier determined by TAP components 222 as discussed above. Merchantlocation field 770 may include location data associated with themerchant involved in the transaction and identified in merchantidentifier field 760. As discussed above, where the transaction was anonline transaction, merchant location field may reflect a web siteaddress (or other location identifying information) for a merchant website (or other network location) where goods and/or services may bepurchased.

The disclosed implementations are not limited to the arrangement offields, or the specific types of data included in the transactionaffinity data set (e.g., set 700). For instance, the generatedtransaction affinity data set may include additional information notdiscussed above or shown in FIG. 7. Moreover, some data described abovemay not be included in the transaction affinity data set. Further, dataincluded in one or more fields of the transaction affinity data set maybe combined. For instance, merchant ID field 750 and merchant locationfield 770 may be combined into a single set of data that includesinformation identifying the merchant and the location of the merchant.The format of transaction affinity data set 700 shown in FIG. 7 is notlimiting to the disclosed implementations. The configuration of data set700 may vary and may be configured to promote efficient access andprocessing of transaction affinity data collected in process 600. Also,while the above description discusses generating a transaction affinitydata set for a single user account, the disclosed implementations arenot limited to such. For example, TAP components 222 may be configuredto perform process 600 for transaction data associated with differentaccounts used in different transactions. Therefore, TAP components 222may generate a transaction affinity data set that includes transactionsfor different accounts, which may or may not be associated with the sameuser. Thus, in some aspects, account identifier field 720 may identifydifferent accounts for different transactions (e.g., transactionidentifier field 710).

FIG. 8 is a flow chart of a trip transaction determination process 800that one or more components of system 100 may perform consistent withcertain disclosed implementations. For exemplary purposes only, thedescription of the features and processes associated with the triptransaction determination process 800 of FIG. 8 is described below asbeing performed by transaction affinity platform 110. The disclosedimplementations, however, are not so limited. For example, client 120(including e.g., computing system 311) and/or merchant 130 (includinge.g., computing system 411) may execute software that performs one ormore processes associated with trip transaction determination process800. In certain aspects, client 120, merchant 130, and/or transactionaffinity platform 110 may individually or collectively perform some orall the processes associated with trip transaction determination process800. In certain implementations, TAP components 222 of transactionaffinity platform 110 may perform one or more of the processes of triptransaction determination process 800. In addition, or alternatively,TAP components of client 120 and/or merchant 130 (e.g., TAP components322, 422, respectively) may perform one or more of the processes of triptransaction determination process 800. Moreover, the disclosedimplementations are not limited to the sequence and/or number of processsteps shown in FIG. 8.

In certain implementations. TAP components 222, for example, may performprocesses that access a target transaction affinity data set, such asthe data set that may have been generated by transaction affinity datacollection process 600 (Step 810). In some aspects, TAP components 222may access the memory storing the transaction affinity data set (e.g.,memory 223, database 227, etc.), or may generate and provide a requestto another component to provide the requested target transactionaffinity data set. For example, in some implementations, TAP components222 may perform one or more processes that determine the type oftransaction affinity data set to access or receive, such as atransaction affinity data set associated with one or more identifiedaccounts (e.g., a first user account, a first and second accountassociated with the same user, a first user account and a second useraccount associated with a second user, a range of accounts, etc.). Basedon that determination, TAP components 222 may generate and provide arequest to another component software and/or computing component oftransaction affinity platform 110 to request, access, retrieve, andprovide the requested transaction affinity data set. In other aspects,the disclosed implementations may not perform process(es) that determinethe type of transaction affinity data set transaction affinity platform110, but rather TAP components 22 may request and/or access and receivea transaction affinity data set based on the data set that waspreviously generated and/or updated.

TAP components 222 may analyze the target transaction affinity data setto identify and analyze a group of transactions in the data set (Step820). In one aspect, TAP components 222 may identify two temporallyrelated transactions (e.g., a first transaction and a following secondtransaction) as a transaction pair to analyze. TAP components 222 mayperform process(es) that analyze the transaction identifier field (e.g.,field 710), time data (e.g., transaction time data field 740), merchantidentifier (e.g., field 750), or other information in the transactiondata to identify the transaction pair. Once identified, TAP components222 may determine whether the transactions in the transaction pairinvolved the same or different merchants by checking, for example, themerchant identifier data included in the transaction affinity data setfor each of the two transactions in the transaction pair. For example,TAP components 222 may determine that two subsequent transactions areassociated with the same merchant (e.g., if a user of an accountperformed transactions at the same merchant location at differentsequential times). Alternatively, TAP components 222 may determine thatthe two subsequent transactions are associated with different merchants.In some aspects, TAP components 222 may disregard the transaction pairfor performing trip transaction data determination process 800. In otheraspects, TAP components 222 may proceed to perform the processes of triptransaction data determination process 800 even when the same merchantis identified with the two sequential transactions.

At step 830, TAP components 222 may perform process(es) that analyze thetime data for each transaction to determine a time gap for a merchantpair associated with the transactions in the transaction pair underanalysis (Step 830). For example, in certain implementations, at step830, TAP components 222 may perform a process that compares the timedata for the first and second transactions in the transaction pair.Based on the analysis, TAP components 222 may determine an amount oftime between the first transaction and the second transaction andgenerate a time gap value for the merchant pair involved in thosetransactions. The time gap value may reflect a time in seconds, minutes,or other temporal value. For example, referring to FIG. 7, TAPcomponents 222 may determine that transaction TID 100 and transactionTID 110 are transactions in a transaction pair. By comparing the timedata (e.g., time data field 740) for each transaction, TAP components222 may determine that transaction TID 110 occurred twenty-six (26)minutes after transaction TID 100. TAP components 222 may be configuredto perform rounding process(es) on the comparison result to generate thetime gap data for transaction pair. Based on the comparison, TAPcomponents 222 may generate time gap data for the merchant pair involvedin those transaction (e.g., Merchant A and Merchant B) to be a valuereflecting the time difference. TAP components 222 may store a time gaprecord for the merchant pair in the transaction pair analyzed in memory.For example, TAP components 222 may perform one or more processes thatgenerate and store the time gap record in memory 223, database 227,and/or another memory devices accessible by components of transactionaffinity platform 110, including TAP components 222.

Based on the time gap for the merchant pair, TAP components 222 mayperform one or more processes to determine whether the time gap valuefor the merchant pair under analysis meets a determined threshold (Step840). For example, TAP components 222 may store a temporal thresholdvalue and reflects a time value (e.g., N seconds, N minutes, N hours, Ndays, etc., where N may be at least 1), that may be used to determinewhether a time gap value qualifies a merchant pair and correspondingtransaction pair to be included in the trip transaction data generatedby process 800.

In some aspects, transaction affinity platform 110 may perform one ormore processes that provide a user (e.g., user of client 120A or 120B,etc.) with an option to set the temporal threshold value. For example,transaction affinity platform 110 (or a component of the hosting entityof transaction affinity platform 110) may perform process(es) that allowa user who is an account holder to select or request to receivetransaction affinity services associated with the account. Further,transaction affinity platform 110 (or a component of the hosting entityof transaction affinity platform 110) may perform process(es) that allowa transaction affinity platform account user to configure one or moresettings relating to transaction affinity services. As an example, oneof the settings may be a setting that defines the temporal thresholdvalue that is used to determine whether one or more transaction pairswill be used in transaction affinity relationship processing. Forexample, TAP components 222 may perform process(es) that does notinclude two or more transactions that occurred over 8 hours of eachother, etc. Based on the user's selection, client 120 may provide datareflecting the selection to transaction affinity platform 110, which mayperform process(es) that may generate information in a memory thatidentifies the user account as a transaction affinity account and storesthe temporal threshold value defined by the user.

In other aspects, transaction affinity platform 110 may perform one ormore processes that automatically set the temporal threshold value basedon software components executed by transaction affinity platform 110.For instance, TAP components 222 may automatically set the temporalthreshold value, based on, for example, the user account that is underanalysis. In some instances, TAP components 222 may perform process(es)that dynamically adjust the temporal threshold value. For example, TAPcomponents 222 may access and analyze previous time gap data that wasdetermined and stored in memory relating to the identified merchants inthe merchant pair. Based on that analysis, TAP components 222 maydynamically set the temporal threshold value to reflect previouslydetermined time gaps that may have been used in previous transactionaffinity processes consistent with those disclosed herein. In otheraspects, TAP components 222 may perform process(es) that dynamically setthe temporal threshold value based on merchant density. For example, incertain disclosed implementations, TAP components 222 may analyzemerchant information to determine the geographical distance betweenmerchants based on location data. For instance, the distance betweenmerchants in rural areas may be larger than the distance betweenmerchants in urban areas. Thus, users carrying respective clients 120may typically drive between merchants in rural areas, where users inurban areas may walk. Thus, in certain aspects, TAP components 222 mayperform process(es) that access and analyze merchant locationinformation, which may include predetermined location categoryinformation (e.g., urban, rural, etc.) to determine whether transactionsassociated with identified merchants took place at particular merchantlocations (e.g., rural or urban). Based on that analysis, TAP components222 may dynamically set the temporal threshold value to adjust fordifferent time variances that may occur in such areas. For example, TAPcomponents 222 may determine that the transactions between a merchantpair relate to a location where more time should be allotted betweenmerchant transactions (e.g., rural location, suburban location, etc.),TAP components 222 may increase or set a higher temporal threshold value(e.g., 1 hour, 2 hours, etc.). If TAP components 222 determines that thetime gap for a merchant pair meets the temporal parameter (e.g., thetemporal threshold value) (Step 840, YES) (e.g., the time gap for themerchant pair is below a temporal threshold value of 1 hour), TAPcomponents 222 may perform process(es) that may identify the merchantpair for inclusion in the trip transaction data (Step 850). In oneaspect, TAP components 222 may store the merchant pair and time gapinformation in a data structure in memory that is accessible and usedfor trip transaction data generation. In other aspects, TAP components222 may generate information that reflects that the merchant pair is tobe used in generating trip transaction data for the transaction affinityprocess. If, however, TAP components 222 determines that the time gapfor a merchant pair does not meet the temporal parameter (e.g., thetemporal threshold value) (Step 840; NO) (e.g., the time gap for themerchant pair is above a temporal threshold value of 1 hour), process800 may continue to Step 860.

At Step 860, TAP components 222 may determine whether anothermerchant/transaction pair is to be analyzed by process 800, and if so(Step 860; YES), the process returns to Step 820 to analyze anothertransaction pair in the transaction group in a manner consistent withthe processes described above. If, however, there are no more merchantpairs to analyze (Step 860; NO), TAP components 222 may perform one ormore processes to generate trip transaction data (Step 870).

TAP components 222 may generate trip transaction data in different,non-limiting ways. For example, in one aspect, TAP components 222 mayperform one or more processes that identify the merchant pairsidentified for trip transaction inclusion (Step 850), and generate andstore in a data structure a trip transaction data set including merchantinformation and associated time gap values for the identified merchantpairs. FIG. 9 shows a block diagram of non-limiting exemplary triptransaction data 900 for analyzed merchant pairs consistent withdisclosed implementations. As shown, the trip transaction data 900 mayinclude one or more data fields including data associated with thetransaction pairs analyzed during the trip transaction determinationprocess 800 as discussed above. For instance, as exemplified in FIG. 9,trip transaction data 900 may include merchant pair records 910 thateach include merchant identifiers for a first merchant 920 and a secondmerchant 930, and the determined time gap value 940 for the merchantpair. As shown, the first merchant pair record may include the merchantidentifier (Merchant M1) for the merchant associated with a firsttransaction in an analyzed transaction pair, and the second merchantidentifier (Merchant M2) in the second transaction of the analyzedtransaction pair, and the corresponding time gap value (5 minutes),which reflects the time difference between the first transaction and thesecond transaction. While trip transaction data 900 includes fivemerchant pairs, the disclosed implementations are not limited to thenumber of merchant pairs as shown in FIG. 9. Moreover, the format andinformation included in trip transaction data consistent with disclosedembodiments is not limited to the configuration shown in FIG. 9. Otherinformation, or other types of information, may be included in the triptransaction data generated by the disclosed implementations.

FIG. 10 is a flow chart of a transaction affinity relationshipdetermination process 1000 that one or more components of system 100 mayperform consistent with certain disclosed implementations. For exemplarypurposes only, the description of the features and processes associatedwith the transaction affinity relationship determination process 1000 ofFIG. 10 is described below as being performed by transaction affinityplatform 110. The disclosed implementations, however, are not solimited. For example, client 120 (including e.g., computing system 311)and/or merchant 130 (including e.g., computing system 411) may performone or more processes associated with transaction affinity relationshipdetermination process 1000. In certain aspects, client 120, merchant130, and/or transaction affinity platform 110 may individually orcollectively perform some or all the processes associated withtransaction affinity relationship determination process 1000. In certainimplementations, TAP components 222 of transaction affinity platform 110may perform one or more of the processes of transaction affinityrelationship determination process 1000. In addition, or alternatively,TAP components of client 120 and/or merchant 130 (e.g., TAP components322, 422, respectively) may perform one or more of the processes oftransaction affinity relationship determination process 1000. Moreover,the disclosed implementations are not limited to the sequence and/ornumber of process steps shown in FIG. 10.

In certain aspects, TAP components 222 may perform one or more processesthat access the trip transaction data generated in accordance with thedisclosed implementations (e.g., process 800) (Step 1010). TAPcomponents 222 may analyze the trip transaction data and the transactiondata associated with the transactions included in the transaction pairscorresponding to the merchant pairs in the trip transaction data todetermine merchant affinity count values (Step 1020). A merchantaffinity count value, in certain aspects, may reflect the number oftimes a user account was used in a transaction involving a firstmerchant and a second merchant. For example, based on the triptransaction data for a user account, TAP components 222 may determinehow many times over a determined time range the user performed atransaction at a first merchant followed by a transaction at a secondmerchant. So, for instance, TAP components 222 may perform processesthat determine that an account was used to perform a transaction at afirst merchant M1 and then subsequently used to perform a transaction ata second merchant M2, and based on that analysis, increase the countvalue for that merchant pair (e.g., M1 to M2) by some value (e.g.,increase count value by 1 or some code reflecting an increase in thecondition being met). Thus, for example TAP components 222 may performone or more transaction affinity processes to determine based on theanalyzed data how many times over a determined time period the recordaccount was used to perform transactions first involving merchant M1followed by a subsequent transaction involving merchant M2. Based on theanalysis, TAP components 222 may perform a count value update process toupdate the count value to reflect the identified times such a sequenceof transactions from M1 to M2 occurred (e.g., update the count value by1 for each instance, or update a code or data reflecting the increase(s)in the condition being met).

TAP components 222 may store the merchant affinity count value data in adata structure for processing to determine transaction affinityrelationships consistent with the disclosed implementations. Forinstance, TAP components 222 may store the merchant affinity count valuedata in memory 223, database 227, or another memory accessible bycomponents of transaction affinity platform 110. FIG. 11 shows anexemplary merchant affinity count value data set 1100 that may begenerated and stored by the disclosed implementations. The arrangementand configuration of the data set 1100 is not limiting as the disclosedimplementations may generate and store data structure(s) in memory indifferent formats that promote efficient data access, retrieval, andstorage.

In certain aspects, merchant affinity count value data set 1100 mayinclude first merchant data 1110, second merchant data 1120, and amerchant affinity count value 1130. First merchant data 1110 mayidentify the first merchant in a transaction pair involving a useraccount and second merchant account data 1120 may identify the secondmerchant in the transaction pair involving the user account. Merchantaffinity count value 1130 may reflect the count value determined by TAPcomponents 222 in a manner consistent with the above descriptions ofprocess 1000.

In certain implementations, TAP components may perform one or moreprocesses that determine transaction affinity relationships based on themerchant affinity count values, the transaction affinity data for thetransactions for the merchant pairs in the trip transaction data, and/orother transaction data, or other information determined or obtained bytransaction affinity platform 110 (Step 1130).

Transaction affinity relationships may be information that reflects oneor more relationships between a set of first transaction(s) (e.g., oneor more first transactions) and a set of second transaction(s) (e.g.,one or more second transactions). In certain aspects, a transactionaffinity relationship may include information reflecting one or more ofa temporal relationship, a sequential relationship, relationshipstrength information, etc.

In some aspects, a temporal relationship may include informationreflecting an association between the amount of time between a first setof transaction(s) and a second set of transaction(s) for one or moreuser accounts. For instance, a temporal relationship may include timegap data (e.g., similar to the time gap data discussed above inconnection with process 800) that reflects the amount of time between afirst transaction and one or more second transactions having one or morecommon transaction data (e.g., user account, transaction date, merchantidentifier, merchant category data, merchant location data, etc.). Atemporal relationship may include information that is based on such timegap data that is used to generate information reflecting a time-basedrelationship (e.g., account 0001 was used 5 times within a one-hour timespan at 5 different merchants associated with 2 different merchantcategories). Based on the temporal relationship information, thedisclosed implementations may generate a transaction affinityrelationship message that is translated into another format, such as auser-readable format (e.g., text and/or graphical), compatible forprocessing by software and/or computing components, etc.

In certain aspects, a sequential relationship may include informationreflecting an association between the sequence of transactions. Forinstance, a sequential relationship may include information reflectingthat a first set of transaction(s) (e.g., one or more firsttransactions) occurred immediately (or within a determined number) priorto, or after, a second set of transaction(s) (e.g., one or more secondtransactions) (e.g., user account 0001 was used in a transactioninvolving merchant M1 immediately before a second transaction involvingmerchant M2). Components of system 100 may be configured to performprocess(es) that process this information to generate a transactionaffinity relationship to indicate the sequential relationship (e.g.,user A visited merchant M1 right before visiting merchant M2: user Avisited merchant M1, followed by a visit to merchants M2, M3, and M4).

A relationship strength may be information reflecting a weight (e.g.,strength value) associated with one or more transactions. For example, arelationship strength may include a merchant affinity strengthrelationship reflecting a relationship involving one or more firstmerchants and one or more second merchants. For instance, a strengthrelationship may be based on how many times a first merchant wasinvolved in a transaction associated with an account followed by, orpreceded by, a second merchant being involved in a transaction. Thus,for example, if a user of client 120A performed a transaction with afirst merchant (e.g., merchant M1), and then subsequently performed atransaction with a second merchant (e.g., merchant M2), the merchantaffinity relationship strength may be assigned to reflect thatsequential relationship (e.g., strength value of 1). The disclosedimplementations may update and/or determine the merchant affinityrelationship strength based on later similar sequential transactions.Thus, for example, if the user again later performed a transaction withthe first merchant (e.g., merchant M1) followed by a second transactionwith the second merchant (e.g., merchant M2) one or more additionaltimes, the disclosed implementations may perform process(es) thatupdates or determines the merchant affinity relationship strength forthat merchant pair (e.g., M1 to M2) based on the transaction data (e.g.,update the strength value to 3, 4, etc.). The disclosed implementationsare not limited to determining a relationship strength based on singlemerchant pair transactions, or on the sequential nature of suchtransactions. Alternatively, in certain aspects, the disclosedimplementations may determine a relationship strength based on time data(e.g., time gap data), groups of merchants (e.g., transactions from M1to M2, M3 and/or M4), a merchant sequence group (e.g., M1 to M2,followed by M3 (e.g., a M1-M2-M3 sequence)), etc. Moreover, transactionaffinity platform 110 may also determine relationship strengths fortransactions that occurred in the reverse direction. For instance,transaction affinity platform 110 may determine a relationship strengthbetween a merchant M1 to merchant M2, and a relationship strength fortransactions from merchant M2 to merchant M1, based on the transactiondata and transaction affinity data collected and determined inaccordance with the disclosed implementations.

The disclosed implementations may determine transaction affinityrelationship information based on strength relationship informationbetween merchants and/or user accounts. For example, the disclosedimplementations may perform one or more process(es) that determine a setof user accounts involved in transactions associated with certainmerchants, within a certain determined time period. For instance,transaction affinity platform 110 may perform one or more process(es)that process transaction affinity information (e.g., time gap data,relationship count data, merchant identifier(s), merchant location(s),user account identifier(s), etc.) to determine a relationship between aset of user accounts and a set of merchants (e.g., five different usersperformed transactions at merchant M1 sequentially before performing atransaction at merchant M2).

In certain implementations, transaction affinity platform 110 mayperform one or more process(es) that generate and store data thatreflect merchant affinity relationship(s) with corresponding affinitystrength relationship information. FIG. 12 shows a diagram of anexemplary merchant affinity network for an exemplary set of merchants(M1 to M5) corresponding to a user account that may be monitored andprocessed in accordance with the disclosed implementations. Transactionaffinity platform 110 may perform one or more process(es) that storedata that represent information reflected in the merchant affinityrelationship network (e.g., data structures including data reflectingstrength data, merchant information, and relationships between them,etc.).

For example, as shown in FIG. 12, transaction affinity platform 110 maystore data in memory (e.g., memory 223) that reflects relationshipsbetween the exemplary merchants M1 to M5. As shown in FIG. 12, themerchant affinity relationship strengths from one merchant to anothermay vary depending on the transaction data collected by the componentsof system 100. For instance, the merchant affinity relationship strengthbetween merchant M1 to M2 may be larger than the merchant affinityrelationship strength from merchant M2 to M1. This is exemplary shown bythe thicker or wider strength affinity relationship links (e.g.,thicker/wider relationship links may reflect higher merchant affinityrelationship strengths compared to thinner links). Thus, in theexemplary merchant affinity relationship network 1200, a higher merchantaffinity strength relationship exists between transactions stemming frommerchant M1 to merchant M2 than that for transactions stemming frommerchant M2 to M1 (e.g., more transactions occurred that began atmerchant M1 and subsequently occurred at merchant M2). As an example,merchant M1 may be a restaurant location and merchant M2 may be an icecream vendor merchant location. Transaction data collected and analyzedby the disclosed implementations may show that more people visit the icecream vendor merchant M2 after conducting transactions at the restaurantmerchant M1 than the other way around (i.e., transaction data shows thatless people visit the restaurant merchant M1 after visiting the icecream vendor merchant M2). The merchant affinity strength relationshipmay be generated and stored as an affinity strength value (e.g., RSvalue) that may be used by transaction affinity processes consistentwith the disclosed implementations.

In some exemplary aspects, transaction affinity platform 110 may performprocess(es) that generate and provide information used to displaycontent in an interface reflecting the merchant affinity strengthrelationship information. The information provided via the interface maybe in graphical form or other formats. For example, transaction affinityplatform 110 may generate and provide data used to provide a graphicalrepresentation of the merchant affinity relationship network 1200exemplified in FIG. 12. The interface may be displayed at transactionaffinity platform 110 or other components of system 100, such as client120 and/or merchant 130. Different graphical or textural features may beused to reflect the strength of a relationship. FIG. 13 shows theexemplary merchant affinity strength relationship network in anexemplary interface 1300 that may include graphical and/or texturalmerchant affinity strength relationships that may be generated andprovided consistent with certain disclosed implementations. For example,interface 1300 may include graphical and/or textural representationsreflecting merchants (e.g., M1 to M5) and merchant affinityrelationships. As an example, interface 1300 may include links havingwidths corresponding to a strength value of the relationship between twomerchant nodes (e.g., M1 to M2) (e.g., the wider or thicker the link,the stronger (or weaker) the relationship).

In addition, or alternatively, interface 1300 may include textualstrength relationship information reflecting a strength weight value ofthe relationship between two merchant nodes (e.g., M1 to M2) (e.g.,Relationship Strength “RS” (RS:5)). In some aspects, the relationshiprepresentation (e.g., link width and/or RS value) may indicate asequential and/or temporal relationship between two merchant nodes(e.g., the wider or thicker a link between two merchant nodes inrelation to other links in interface 1300, the larger the number oftransactions (or merchant visits) occurred in sequence between the twomerchant nodes). For example, as exemplified in FIG. 13, the linkbetween merchants M1 and M2 may be wider or thicker than therelationship link between merchants M1 and M4, and thus the graphicalrepresentation may reflect that the number of transactions involvingmerchant M1 sequentially before merchant M2 is greater than the numberof transactions involving merchant M1 sequentially before merchant M4.In some aspects, the textual strength weight value (e.g., RS) maynumerically reflect a similar relationship (e.g., RS:5 (betweenmerchants M1 and M2) is greater than RS: 2 (between merchants M1 andM4)), which may indicate the number of transactions involving merchantM1 sequentially before merchant M2 is greater than the number oftransactions involving merchant M1 sequentially before merchant M4. Inone aspect, the RS value may reflect the count value determined byprocess 800 as discussed above, or alternatively, may be a value that isgenerated based on the count value, but may be a different value that isgenerated for display in interface 1300.

The disclosed implementations may perform processes that determinetransaction affinity relationships to provide additional information orperform additional affinity processes. For instance, one or morecomponents of system 100 may be configured to perform processes fordetermining recommendation data that may be provided to one or morecomputing system(s) for subsequent processing and/or review by a user ofa receiving computing system.

As one example, transaction affinity platform 110 may perform merchantrecommendation processes that determine and provide (e.g., to client120) merchant recommendation information associated with one or morerecommended merchants. In certain aspects, transaction affinity platform110 may perform the merchant recommendation processes such that itprovides real-time recommendation information. For example, transactionaffinity platform 110 may provide merchant recommendation information toclient 120 for display to a user while the user is determined to be on ashopping trip (e.g., visiting different merchant locations to purchaseone or more items or services). For instance, the disclosedimplementations may determine that a user account holder (e.g., a creditcard account holder of a financial service provider) has purchased itemsat one or more home improvement merchants in the past hour, and thusdetermines that the user is currently shopping for homeimprovement-related items (e.g., the transactions associated with theuser involved merchants affiliated with a home improvement merchantcategory). The disclosed embodiments may be configured to receive andanalyze the transaction data for those transactions, determinetransaction affinity relationship information based on the analyzedtransaction data, and identify and provide merchant recommendationinformation reflecting a recommendation of another merchant (ormerchants) that is also affiliated with a home improvement merchantcategory, or a related category. In some aspects, the merchantrecommendation information may be determined based on merchant categorydata and other information, such as location data (e.g., the recommendedmerchant is a home improvement category merchant and is located within acertain distance or location relative to the user's current location(e.g., location of client 120) or the last transaction location (e.g.,the location of the merchant involved in the last transaction includedin the merchant affinity relationship information for that user).

FIG. 14 shows a flowchart of an exemplary merchant recommendationprocess consistent with the disclosed implementations. In certainaspects, transaction affinity platform 110 (or another component insystem 100) may perform process(es) that dynamically provide real-timemerchant recommendations based on real-time analysis of transactionsassociated with an account record that have occurred within a specifiedtime period. For instance, in Step 1410, transaction affinity platform110 may collect transaction affinity relationships data in a mannerconsistent with the processes discussed above. Transaction affinityplatform 110 may monitor and analyze transactions of an account recordfor a certain time period and perform transaction affinity processesdynamically such that it can provide a merchant recommendation to, forexample, the user (e.g., client 120) while the user is in a transactionevent (e.g., before a new transaction occurs using the correspondingaccount). A transaction event may be an event determined by transactionaffinity platform 110 (e.g., TAP components 222) based on a series oftransactions that have been evaluated during the transaction affinityrelationship processes discussed above.

As a non-limiting example, a user (e.g., John) may be a holder of anaccount provided by an account provider (e.g., credit card account).User John may use the account to perform a first purchase transaction ata first merchant M1 at 9:00 am of Day 1, a second purchase transactionat a second merchant M2 at 9:30 am of Day 1, and a third purchasetransaction at a third merchant M3 at 10:00 am of Day 1. Consistent withaspects of the disclosed implementations, components of system 100(e.g., transaction affinity platform 110, client 120, and/or merchant130) may collect transaction data from each transaction and performtransaction affinity relationship processes in real-time. Thus, forexample, based on the transaction affinity data collected from the threetransactions, including merchant data, profile data associated withJohn, etc., transaction affinity platform 110 may determine that userJohn is currently on a shopping trip for a category or categories ofitems or services (e.g., food shopping because M1 is a grocery store, M2is a coffee shop, and M3 is a butcher shop). Transaction affinityplatform 110 may perform processes that identify the set of transactionsas a food/grocery shopping transaction event. Transaction affinityplatform 110 may also perform transaction affinity relationshipprocesses (e.g., processes consistent with FIGS. 5-11), to determine inreal-time transaction affinity relationships between the three merchantsfor user John. Other types of events can be determined and identified bythe disclosed embodiments based on the transaction affinity data ofanalyzed transactions (e.g., dining event, commuting event, etc.)

At Step 1410, transaction affinity platform 110 may collect transactionaffinity relationship information previously determined and storedassociated with the account record and/or multiple account records thatare monitored and analyzed in a manner consistent with the disclosedimplementations. For example, transaction affinity platform 110 maystore transaction affinity relationships data for a user account inmemory that reflects a historical view of affinity relationships betweenmerchants and the user account used to perform transactions, which wasgenerated consistent with the above-disclosed processes. Moreover,transaction affinity platform 110 may store transaction affinityrelationship data for multiple user accounts in memory that reflect ahistorical view of affinity relationships between merchants for thoseaccounts used to perform transactions. Transaction affinity platform 110may collect the transaction affinity relationship data (e.g., real-timetransaction affinity relationship data based on current transactionevent, historical merchant affinity relationships for a user account,and/or historical merchant affinity relationships for multiple accounts)(Step 1410), for use in performing the merchant recommendation process.

Based on the collected transaction affinity relationships data andtransaction event data, transaction affinity platform 110 (or one ormore component(s) of system 100) may perform process(es) that determinea potential next merchant (Step 1420). For example, transaction affinityplatform 110 may analyze transaction affinity relationship informationassociated with the merchants involved during the transaction event, andaccess and analyze the historical transaction affinity relationshipsdata collected in Step 1410, to identify one or more potentialmerchant(s) that meet determined criteria. For instance, following theabove example involving user John's transaction event associated withmerchants M1-M3, transaction affinity platform 110 may determine, basedon the analyzed transaction affinity data, that merchant M3 was the lastmerchant visited by user John. Transaction affinity platform 110 mayanalyze the transaction affinity relationship data associated with userJohn's account and/or the historical merchant affinity informationpreviously determined, to identify one or more merchants that have anaffinity relationship strength with merchant M3 (e.g., RS value) thatmeets a determined threshold value (e.g., RS value of 3 or higher, an RSvalue that is not below 3, etc.), or is within a certain threshold valuerange (e.g., RS value between 3 and 5), etc.). For instance, based onthe analyzed transaction affinity relationship data, transactionaffinity platform 110 may determine that two merchants (e.g., merchantsM7 and M8) have a determined affinity relationship value that meets thethreshold (e.g., RS value of 3), thus reflecting a minimum relationshipstrength of transactions that occur from merchant M3 to merchant M7 andfrom merchant M3 to merchant M8. Based on the analysis, transactionaffinity platform 110 may determine M7 and/or M8 as a potential nextmerchant (e.g., Step 1420).

Based on determined potential next merchant data, the disclosedimplementations may generate and provide merchant recommendation data(Step 1430). For example, transaction affinity platform 110 may performone or more processes that generate information that reflects arecommendation that the user next visit the potential next merchant.Following the example above involving user John, transaction affinityplatform 110 may generate a set of data identifying merchant M7 andpossibly other data (e.g., M7 location, directions from user John (e.g.,based on location of client 120 associated with user John), descriptiondata associated with merchant M7 (e.g., type of items/services offeredby merchant M7), etc.). Transaction affinity platform 110 may, forexample, create a message including the set of data and provide themessage to client 120 (or other component associated with user John),for display. For example, transaction affinity platform 110 may generatea message that, when received and processed by client 120, may rendercontent on a display identifying merchant M7 and a message suggestingthat the user visit the location given the transaction event. Forexample, the message may include something similar to or consistent witha message that conveys the type of event and the recommendation relatingto that event (e.g., “It looks like you're shopping for groceries today.Merchant [M7], located at [address], offers competitive prices on itemsthat may help you finish your shopping trip early.”) Graphical contentand other information may be included in the message, such as merchantlogos, map information, hyperlinks to other user information orapplications, etc. The disclosed implementations are not limited to thetype of message, the format of the content displayed, or the informationincluded in the message generated.

While certain examples disclosed above relate to merchant recommendationdata that may be directed to a user associated with client 120, thedisclosed implementations are not limited to such applications. Forexample, aspects of the disclosed implementations may include generatingand providing recommendation data to or for merchant computing systems(e.g., merchant 130). For instance, transaction affinity platform 110may perform one or more processes consistent with those discussed aboveto identify one or more merchants that have a transaction affinityrelationship that is above a certain threshold relationship score valueand generate and store the data as merchant recommendation data. Forexample, TAP components 222 may identify two merchants M7 and M8 aspotential next merchants that relate to the transactions analyzed duringthe transaction affinity processes consistent with those discussedabove. TAP components 222 may perform process(es) that generate merchantrecommendation data that identify merchants M7 and M8 and theirrespective merchant information in memory. In some implementations,transaction affinity platform 110 may maintain a data structure inmemory that stores merchant partner information that identify one ormore merchant systems 130 that are authorized to receive the merchantrecommendation data generated by TAP components 222.

In some aspects, a merchant associated with a merchant system 130 maypartner with an entity hosting transaction affinity platform 110 toreceive transaction affinity-based recommendation information relatingto other merchants. For example, a corresponding merchant 130 mayperform processes that request merchant recommendation data dynamically(e.g., upon generating merchant recommendation data as disclosed above),periodically (e.g., provide merchant recommendation data every hour,day, week, etc.), or responsively (e.g., in response to a request frommerchant 130). For example, transaction affinity platform 110 mayperform one or more processes that analyze the stored merchant partnerinformation to determine a merchant (e.g., merchant M6) andcorresponding merchant system 130 that is authorized to receivegenerated merchant recommendation data. Transaction affinity platform110 may perform such authorization processes following generation ofrecommendation data similar to that disclosed above, based on apredetermined time periodic time period, or in response to a requestfrom a merchant system 130. Once identified and authorization isconfirmed, transaction affinity platform 110 may perform processes thatgenerate a recommendation message (e.g., packet of data) suitable fortransmission over network 140 that includes the merchant information forthe recommendation merchants identified during the merchantrecommendation processes consistent with the disclosed embodiments(e.g., merchants M7 and M8). Transaction affinity platform 110 mayperforms processes that transmits the recommendation message to themerchant system 130 (e.g., merchant 130B) that is associated with theauthorized merchant (e.g., merchant M6). The receiving merchant system130 may perform process(es) that store and analyze the merchantinformation to perform one or more merchant processes that analyze thereceived merchant information.

For instance, merchant system 130 for the exemplary authorized merchantM6 may include TAP components similar to those of TAP components 222that perform processes that generate further recommendation data basedon the received merchant information received from transaction affinityplatform 110. In one example, the merchant system 130 may determinewhether the location of recommended merchants M7 and M8 is within adetermined threshold distance (e.g., within X miles, within Y blocks,within Z feet, etc.). If so, the merchant system 130 may generaterecommendation data that provides information on suggested partnershipopportunities for the authorized merchant with merchants M7 and M8, suchas cross-sell opportunities (e.g., merchant M6 may advertise or providerecommendations to visit merchant M7 and/or M8 to customers at theauthorized merchant location), and/or vice versa (e.g., merchant M7and/or M8 may advertise or provide recommendations to customers to visitauthorized merchant M6).

The disclosed implementations may perform other recommendation processesbased on the information generated by the transaction affinity processesdiscussed above. For example, the disclosed implementations maydetermine transaction affinity relationships based on a sequence oftransactions associated with an account record that occur before a newtransaction associated with the account record occurs. Thus, in oneexample, and in accordance with the features disclosed above, thedisclosed implementations may analyze a transaction group from atransaction affinity data set that includes two or more sequentiallyrelated transactions, such as a first transaction T1 associated with afirst merchant M1, followed by a second transaction T2 associated with asecond merchant M2. In certain aspects, the disclosed embodiments mayanalyze the transactions T1 and T2 collectively as a virtual singletransaction (e.g., VT1), and identify a third transaction T3 associatedwith a third merchant M3 that occurred following the virtual transactionVT1 (e.g., analyzing the time information for the first transaction T1or the time information for both transactions T1 and T2). Thus, in someinstances, TAP components 222 may perform processes that determine atime gap between the third transaction T3 and the first transaction T1in the virtual transaction VT1. Consistent with the processes disclosedabove, TAP components 222 may analyze the transaction affinityrelationship data associated with the account record and/or thehistorical merchant affinity information previously determined for theaccount record, to identify one or more merchants that have an affinityrelationship strength with merchants associated with the transactionsincluded in the virtual transaction VT1 (e.g., T1 and T2) that meets athreshold value (e.g., RS value of 4 or higher, an RS value that is notbelow 4, etc.), or is within a certain threshold value range (e.g., RSvalue between 3 and 5), etc.). For instance, based on the analyzedtransaction affinity relationship data. TAP components 222 may determinethat two merchants (e.g., merchants M7 and M8) have a determinedaffinity relationship value that meets the threshold (e.g., RS value of3), thus reflecting a minimum relationship strength of transactions thatoccur from the merchants associated with virtual transaction VT1 tomerchant M7 and from the merchants associated with virtual transactionVT1 to merchant M8. Based on the analysis, transaction affinity platform110 may determine M7 and/or M8 as a potential next merchant in a mannerconsistent with the above-disclosed processes and features of thedisclosed implementations.

The disclosed implementations disclosed above may provide technicalefficiencies that enhance the operation of one or more aspects of system100 and user experiences. For instance, by configuring one or morecomponents of system 100 to perform transaction affinity processesconsistent with the processes disclosed above, the disclosedimplementations may allow a computing system (e.g., transaction affinityplatform 110, TAP components 222, client 120, merchant 130, etc.) todynamically analyze transaction data to provide recommendation dataquickly and efficiently. In one example, distributing one or moretransaction affinity processes disclosed above across transactionaffinity platform 110 and client 120 may conserve memory and processingresources at each respective computing system, while enhancing theability to deliver dynamic merchant recommendations for display to auser of a client 120. Those skilled in the art would recognize thetechnical advantages to the disclosed implementations, especially inapplications where transaction affinity platform 110 performstransaction affinity processes for many accounts and/or manytransactions for one or more accounts. For example, transaction affinityplatform 110 and one or more client 120 and/or merchant 130 may performone or more processes associated with transaction affinity datacollection process 600 (FIG. 6), trip transaction data determinationprocess 800 (FIG. 8), transaction affinity relationship determinationprocess (FIG. 10), and/or merchant recommendation process (FIG. 14) toprovide merchant recommendation data consistent with the above disclosedimplementations.

Aspects of the disclosed implementations efficiently generate and storeinformation for use by the transaction affinity processes disclosedherein to dynamically analyze affinity relationships and provideanalysis results, including recommendation data, in real time fashion.Components of the disclosed implementations (e.g., transaction affinityplatform 110) may determine, configure, and store merchant information,location information, merchant affinity relationship information, andother data consistent with the disclosed implementations for subsequentanalysis. For example, the disclosed implementations may determine andmaintain location information associated with monitored transactions andmerchants. The merchant location information may include an address, GPSlocation, coordinate data, or other representation that reflects thelocation of a merchant that is used by the transaction affinityprocesses disclosed herein. Components of system 100, such as TAPcomponents 222 of transaction affinity platform 110, may perform one ormore processes that generate, configure, and store location informationassociated with the geographic location of merchant locations, or othercomponents (e.g., client 120).

For example, FIG. 15 shows a block diagram of exemplary locationinformation that may be segmented to provide location information thatcan be accessed, analyzed, and used by one or more transaction affinityprocesses consistent with disclosed embodiments. The arrangement andformat of the location shown in FIG. 15 is exemplary and the disclosedimplementations are not limited to such examples. The disclosedimplementations may configure, and store location information based ondifferent area boundary criteria, such as an area of certain size (e.g.,miles, feet, etc.), a certain region (e.g., zip code, district lines),without limit to the shape, size, or units for defining the area. Asexemplified in FIG. 15, a geographic area of a determined location size,shape, boundaries, etc.) may be associated with a location identifier,such as location area F (LOC F, 1530), which in this example is arectangle of certain size. The disclosed implementations may segment alocation area into sub-sections to provide more granular locationinformation. For instance, as shown in FIG. 15, LOC F is segmented intosour subsections (1522, 1524, 1526, 1528 (also labeled LOC E forillustrative purposes)). In certain aspects, a subsection may be furthersegmented into another layer of subsections. For example, as shown inFIG. 15, subsection 1522 includes four subsections (LOC A, LOC B, LOC C,LOC D) in quadrant format. Like LOC F, each subsection may reflect ageographic area of certain size and shape in a non-limiting fashion.Here, sub-sections LOC E and LOC A, LOC B, LOC C, LOC D are shown asrectangles for illustrative purposes only. Moreover, LOC F may reflect asub-section of a larger area (not shown).

The disclosed implementations may configure and store organized locationinformation to provide merchant location information that may be used bythe transaction affinity processes disclosed herein. For example, FIG.16 shows an exemplary block diagram of an area 1600 that is divided intosubsections LOC A, LOC B, LOC C, and LOC D. In one aspect, TAPcomponents 222 may perform processes that determine and store merchantlocation information for merchants identified and associated withmerchant affinity relationships determined in accordance with the abovedisclosed transaction affinity processes. For example, as shown in FIG.16, merchants M1, M2, M3, M4, M5, M7, and M10 may be merchants that thathave been involved in transactions that are included in a merchantaffinity network 1600 that was determined in accordance with thetransaction affinity processes disclosed above. As shown, each merchantin exemplary merchant affinity network 1600 may be associated with acorresponding location. For instance, merchant M1 is in location LOC A1(subsection of LOC A), merchant M2 is in location LOC A4 (subsection ofLOC A), merchant M3 is in location LOC B1 (subsection of LOC B).merchant M4 is in location LOC C1 (subsection of LOC C), merchant M5 isin location LOC D1 (subsection of LOC D), merchant M7 is in location LOCD3 (subsection of LOC D), and merchant M10 is in location B3 (subsectionof LOC B).

Merchant affinity network 1600 may also include merchant affinityrelationships information. For instance, merchant affinity network 1600may include information reflecting affinity relationships from merchantM1 to merchant M3, from merchant M1 to merchant M4, from merchant M4 tomerchant M2, and so on, as depicted by the arrows in FIG. 16. A merchantaffinity relationship between two merchants may reflect a singlemerchant affinity hop for a merchant affinity chain. Thus, one hopexists in the merchant affinity chain between merchants M1 and M3 in theexample shown in FIG. 16. As discussed, affinity relationships mayextend beyond two merchants (e.g., may involve more than one hop).Merchant affinity network 1600 shows examples of two-hop merchant chains(e.g., merchant affinity chain M1 to M4 to M2, and merchant affinitychain M2 to M5 to M7). Further, merchant affinity network 1600 may alsoinclude a three-hop merchant chain (e.g., merchant affinity chain M1 toM4 to M2 to M10).

For illustration purposes, the single hop chains are depicted in FIG. 16with solid arrow lines (e.g., the hop from merchant M1 to M3). The twohop chains are depicted with a hashed line for the final hop in thetwo-hop merchant affinity chain (e.g., the hop from M4 to M2 and the hopfrom M5 to M7). And, the three-hop chain is depicted with a dot-hashline for the final hop in the three-hop chain (e.g., the hop from M2 toM10). A multiple hop merchant affinity chain may include chains fromsmaller hop affinities. For instance, the two-hop merchant affinitychain involving merchants M1 to M4 to M2 shown in FIG. 16 includes a hopfrom merchant M1 to M4 (shown by solid arrow) and the hop from merchantM4 to M2 (shown by the dash lined arrow) to form the two-hop merchantchain for M1 to M4 to M2. Similarly, a hop from merchant M1 to M4 (shownby solid arrow) and the hop from merchant M4 to M2 (shown by the dasharrow reflecting the second hop) and the hop from merchant M2 to M10(shown by the dot-dash arrow) to form the three-hop merchant chain forM1 to M4 to M2 to M10.

Components of the disclosed implementations may determine and storeinformation relating to merchant affinity network 1600 (e.g., merchantlocation information, merchant identity information, hop information,merchant category, merchant affinity chain information, affinity values(e.g., RS value), etc.). For instance, TAP components 222 may performprocesses that determines the location of each merchant and stores andformats the corresponding location information in memory for subsequentaccess and processing. TAP components 222 may determine the location ofa merchant in different ways. For instance, TAP components 222 mayaccess merchant address information in a data store that was provided bythe merchant to transaction affinity platform 110 or extract locationdata from transaction data that was collected during the transactionaffinity data collection process (e.g., as described above for FIGS. 6and 7). In certain aspects, TAP components 222 may configure themerchant location information in a format that facilitates the dynamictransaction affinity recommendation processes disclosed herein.

FIG. 17 shows a block diagram of exemplary merchant information that maybe stored in one or more merchant stores that may be contained in one ormore memories of the disclosed implementations. For instance,transaction affinity platform 110 may store merchant locationinformation in memory 223 and/or TAP components 222 may store merchantlocation information in memory 323. In certain aspects, as an example,TAP components 222 may configure location information based on location,merchant identifier, or both. In the example of FIG. 17, TAP componentsmay store in memory data structures that include location informationfor merchants in location areas segmented in accordance with thelocation segmentation features discussed above. Using the locationsegments of FIG. 16 as an example, LOC A store may include locationinformation identifying merchants M1 and M4 (consistent with theirlocations depicted in FIG. 16), LOCA B store may include locationinformation identifying merchants M3 and M10 (consistent with theirlocations depicted in FIG. 16), and so on. TAP components 222 may alsogenerate and store other location segment information associated witheach merchant in a location store. For example, LOC A store includeslocation subsection store for merchant M1 (e.g., LOC A1) and locationsubsection store for merchant M2 (e.g., LOC A4). In some aspects, thedisclosed implementations (e.g., TAP components 222) may configurelocation information to include different levels of location informationfor use by the disclosed implementations to perform the affinityrelationship processes disclosed herein. Information may be linked toother location stores that maintain subsection location information. Forinstance, TAP components 222 may generate, configure, and store datastructures that maintain merchant location information at a subsectionlevel (e.g., LOC A1 store, LOC A4 store, LOC B1 store, LOC B3 store, LOCC1 store, LOC D1 store, and LOC D3 store). The subsection locationstores may include data that is linked to data maintained in a relatedmerchant location store (shown by exemplary arrows in FIG. 17) tofacilitate access and use of the stored location information to assistthe disclosed implementations to perform dynamic affinity relationshipprocessing as described herein.

The disclosed implementations may also generate, configure and storeother types of affinity relationship information used to perform dynamicaffinity relationship processing as disclosed herein. For example, TAPcomponents 222 may generate, configure, and store merchant informationassociated with each merchant in a merchant affinity network that isdetermined in accordance with the transaction affinity relationshipprocesses disclosed herein. For instance, TAP components 222 maygenerate and configure a merchant information store 1810 that includesmerchant information for merchants included in a merchant affinitynetwork. For example, merchant store 1810 may include a merchant storefor maintaining information associated with the merchants included inthe merchant affinity network 1600 described above in connection withFIG. 16 (e.g., merchant stores M1, M2, M3, M4, M5, M7, and M10). Eachmerchant store may maintain merchant information such as locationinformation (LOC), merchant category information (CAT), merchantidentifier (ID), and other information associated with the merchant.

Moreover, the disclosed implementations may generate, configure, andstore merchant affinity relationship information that corresponds tomerchant chains included in one or more merchant affinity networks. Forexample, TAP components 222 may generate, configure, and store merchantaffinity relationship information in a merchant affinity relationshipstore 1820 that includes affinity relationship information for one ormore merchant chains. As exemplified in FIG. 18, merchant affinityrelationship store 1820 may include data structures that includeinformation that is associated with a corresponding merchant affinitychain, such as the exemplary merchant affinity network 1600 depicted inFIG. 16. In this example, merchant affinity relationship store 1820 mayinclude information associated with each merchant chain of merchantaffinity network 1600, such as merchant chain M1-M2. Informationassociated with each merchant chain (e.g., M1-M2) may include merchantchain identification information 1822, hop information 1824, chainlocation information 1826, chain category information 1828, and affinityvalue information 1829.

In one aspect, merchant chain information 1822 may include data thatidentifies each merchant in a merchant chain and the sequence of theaffinity relationship between the merchants in that chain. For instance,the first merchant chain information 1822 shown in FIG. 18 may includedata identifying merchant M1 and merchant M2 (e.g., merchant ID data)and data identifying the sequence of the affinity relationship (e.g.,transaction sequence that involved merchant M1 followed by merchant M2).In this example, merchant chain information 1822 reflects the merchantaffinity relationship between merchant M1 and M2 as shown in theexemplary merchant affinity network 1600 of FIG. 16.

Hop information 1824 may include data reflecting the number of affinityhops between the first and last merchant in a merchant chain. Forexample, the hop information 1824 for merchant chain M1→M2 reflects aone hop merchant chain, which corresponds to the merchant affinityrelationship between merchants M1 and M2 shown in merchant affinitynetwork 1600 of FIG. 16. As a comparison, the hop information for thelast merchant chain in merchant affinity relationship store 1820involving M1→M4→M2→M10 reflects a three-hop chain, like that shown tothe merchant affinity relationship involving the sequence oftransactions beginning at merchant M1 and ending at merchant M10 in FIG.1600.

Chain location information 1826 may include data reflecting the locationinformation for each merchant in a given merchant chain. For example,the chain location information 1826 for merchant chain M1→M2 reflectsthe location of merchant M1 (e.g., LOC A1) and merchant M2 (e.g., LOCA4), which correspond to the locations shown in exemplary merchantaffinity network 1600 of FIG. 16. In addition, chain locationinformation 1826 may include additional levels of location informationto facilitate location affinity relationship location processing foraffinity chains. For instance, the chain location information 1826 formerchant chain M1→M2 also includes location information LOC A, whichreflects that merchants M1 and M2 in the merchant chain are alsolocation in location area LOC A, as exemplified in the merchant affinitynetwork 1600 of FIG. 16.

Chain category information 1828 may include data reflecting the merchantcategory or categories associated with the merchants in a given merchantchain. For example, the merchant category information 1828 for merchantchain M1→M2 reflects the merchant category for merchants M1 and M2(e.g., CAT 100). In this example, both merchants M1 and M2 may have thesame category information. In some instances, a merchant chain may beassociated with different categories depending on the categoryinformation for the merchants in the merchant chain. As such, chaincategory information 1828 may include data reflecting the differentcategories. For example, the chain category information for merchantchain M2→M5→M7 shown in FIG. 18 includes category data (e.g., 100, 300,100), reflecting the categories for the three merchants involved in thechain. In some aspects, the disclosed embodiments may generate andmaintain in merchant affinity relationship store 1820 chain categoryinformation that reflects an estimated category for the entire chain.For instance, merchant affinity relationship store 1820 may include achain category information field that includes a single category thatreflects an overall chain category for a given merchant chain. Thus, asan example, TAP components 222 may perform one or more processes thatdetermines the category for merchant chain M2→M5→M7 as CAT 100 based onthe categories of each merchant included in that chain, which involvetwo merchants with CAT 100 values and one merchant having a differentcategory (CAT 300).

Affinity value 1829 may include data reflecting a relationship strengthvalue for the merchant chain. For example, the affinity value for themerchant chain M2→M2 may reflect the relationship strength (e.g., RSvalue, which can reflect count value as discussed above) for theaffinity relationship between merchant M1 and M2. In certain aspects,the disclosed embodiments may store the RS value determined by thetransaction affinity relationship determination process 1000 discussedabove in connection with FIG. 10.

In certain aspects, data included in the data structures generated andmaintained by the disclosed implementations may be used to link andreference data to facilitate dynamic affinity processing consistentaspects of the disclosed implementations. For example, as shown byexemplary arrows in FIG. 18, the disclosed implementations (e.g., TAPcomponents 222) may use data, such as merchant identifier data (e.g.,M1) to link to other data structures to locate, access, change, analyze,and/or provide merchant affinity relationship data for processing byother aspects of the disclosed implementations. The relationshipsbetween information shown in FIG. 18 is not limiting. For instance,merchant affinity relationship store 1820 may link to other datastructures, such as the location information stores described above inconnection with FIG. 17.

The disclosed implementations may perform one or more processes togenerate, collect, analyze, and store merchant affinity relationshipinformation that may be used to perform affinity relationship processesconsistent with disclosed implementations. For example, TAP components222 may perform one or more transaction affinity provisioning processesthat access, analyze, process, and provide merchant affinityinformation. In some implementations, the transaction affinityrelationship information may be provided as a service through anApplication Programming Interfaces (e.g., API) that allows requests forcertain types of affinity information to be provided, received, andprocessed. For example, transaction affinity platform 110 may performtransaction affinity provisioning process that uses an API that can bealso used by client 120 and or merchant 130 to request and receivecertain affinity relationship information.

FIG. 19 shows a flow chart of an exemplary transaction affinityprovisioning process 1900 consistent with certain aspects of thedisclosed implementations. Process 1900 may be performed in response toinformation triggering a request for certain types of merchant affinityinformation or merchant recommendation information consistent with thedisclosed implementations. For example, in certain implementations, TAPcomponents 222 may receive an affinity relationship information request.In some aspects, the request may be received by transaction affinityplatform 110 from network 140, such as from client 120 (e.g., client120A, 120B), or merchant 130 (e.g., merchant 130A, 130B). For example, auser of client 120A may provide input via an interface to requestaffinity relationship information or merchant recommendation data. Inother aspects, transaction affinity platform 110 may perform a processthat generates and provides to TAP components 222 an affinityrelationship information request based on instructions provided bysoftware components 224. For example, transaction affinity platform 110may perform a process that periodically generates an affinityrelationship information request. Transaction affinity platform 110 mayalso perform a process that generates an affinity relationshipinformation request in response to a determined event or condition, suchas a determined change in merchant location information or othermerchant information.

Based on the received affinity relationship information request, TAPcomponents 222 may determine the type of request, and based on thatdetermination, may perform certain processes as exemplified in FIG. 19.For instance, the request may initiate a location based request process,a merchant hop count request process, or a merchant category requestprocess.

A location based request may be a request for all transaction affinitiesfor a specified location. For example, a location based request mayidentify a request for transaction affinities within a specifiedlocation, such as location LOC A in the merchant affinity network 1600exemplified in FIG. 16. In response to the request, TAP components 222may determine the request as a location based request (Step 1910), anddetermine from the received request the specified location (e.g., LOCA). In response, TAP components 222 may collect transaction affinityrelationship information for the input location LOC A (Step 1912). Forinstance, TAP components 222 may access, analyze, identify, and collectmerchant affinity relationship information for all merchant affinitiesassociated with LOC A. TAP components 222 may do so, for example, byanalyzing merchant affinity relationship store (e.g., store 1820) todetermine merchant chains associated with location LOC A (e.g., LOC Achain location information). TAP components 222 may generate merchantaffinity relationship information for the determined merchant chains andprovide the information for the specified input location (Step 1914).For example, TAP components 222 may collect merchant chain identityinformation (e.g., 1822), hop information (1824) chain locationinformation (1826), chain category information (1828), and/or affinityvalue information (1829), and generate merchant affinity relationshipinformation that may be used by one or more processes performed bytransaction affinity platform 110, TAP components 222, client 120,and/or merchant 130, depending on the source of the request. In oneexample, TAP components 222 may generate a location based response thatmay be transmitted to client 120A, which performs processes forgenerating and providing the merchant affinity relationship informationfor the requested location in an interface displayed by client 120A. Themerchant affinity relationship information interface may present theinformation in list format or graphical format (e.g., displayinginformation reflecting the merchant affinity relationships involvingmerchant chains M1→M2, M1→M4, M2→M4, M2→M10, M1→M3, M2→M5).

In certain embodiments. TAP components 222 may perform processes todetermine and provide merchant affinity relationship information formerchant chains that are only encompassed within the specified locationin the location request. For example, TAP components 222 may analyze thetransaction affinity relationship information for the input location todetermine merchant affinity chains that begin and end within thelocation specified in the request. For example, instead of providinginformation reflecting the merchant affinity relationships involvingmerchant chains M1→M2, M1→M4, M2→M4, M2→M10, M1→M3, M2→M5 for a locationinput LOC A, the disclosed implementations may perform a process thatanalyzes merchant affinity relationship store 1820 to determine chainlocation information 1826 that only includes location informationinvolving the specified location (e.g., LOC A). Thus, following theexample above, TAP components may determine and provide affinityrelationship information including only merchant chain informationreflecting the merchant affinity relationships associated with merchantchains M1-M2, which is the only full merchant affinity fully included inlocation LOC A, as exemplified in FIG. 16, and identified in exemplarymerchant location relationship store 1820.

Returning to FIG. 19, the affinity relationship information request mayseek all transaction affinities within a specified number of hops from aspecific merchant. In this case, TAP components 222 may determine thatthe request is a merchant hop count request (Step 1920). In one aspect,TAP components may generate a request for a specified merchant locationand a number of hops, which may be provided to the requesting source(e.g., client 120A, a requesting process executed by transactionaffinity platform 110, etc.). For example, if the request seeks alltransaction affinities within two hops of merchant M1, TAP components222 may identify the number of hops (e.g., two) and the target merchant(e.g., M1). Based on that information. TAP components 222 may access,analyze, determine, and collect transaction affinity relationshipinformation for merchant chain(s) within the specified hop count frommerchant M1 (Step 1922). In one example, TAP components 222 may analyzeinformation in merchant affinity relationship store 1820 to determinethe merchant chains with a hop count value of “2” in hop count 1824. TAPcomponents 222 may generate merchant affinity relationship informationthat may be used by one or more processes performed by transactionaffinity platform 110, TAP components 222, client 120, and/or merchant130, depending on the source of the request. In one example, TAPcomponents 222 may generate a merchant hop count response that may betransmitted to client 120A, which performs processes for generating andproviding the merchant affinity relationship information for therequested hop count request in an interface displayed by client 120A(Step 1924). The merchant affinity relationship information interfacemay present the information in list format or graphical format (e.g.,displaying information reflecting the merchant affinity relationshipswithin two hops from merchant M1, such as merchant chains M1→M2, M1→M4,M1→M3, M4→M2, M2→M5 (each involving one hop), and merchant chainsM1→M4→M2 and M2→M5→M7 (each involving two hops), as exemplified in FIG.16 and in store 1820). In other embodiments, TAP components 222 mayperform a process that determines and provides merchant affinityrelationship information for merchant chains that only involve thespecified hop count (e.g., only affinities with two hops, such asmerchant chains M1→M4→M2 and M2→M5→M7). In such an example, the affinityrelationship information request may seek all transaction affinitieshaving a specified number of hops from a specific merchant, as opposedto within a specified number of hops.

FIG. 20 shows a block diagram of an exemplary hop count responseinformation 2000 that may be provided by the disclosed implementations.For example, TAP components 222 may generate information that may beused to generate merchant affinity relationship information for merchantaffinities within two hops of merchant M1, as discussed above. Incertain aspects, hop count response information 2000 may be generatedand provided graphically in an interface that is displayed by a displaydevice (e.g., a display of client 120, merchant 130, transactionaffinity platform 110). For example, hop count response information 2000may include representations of a merchant affinity network that includesaffinity relationships that meet the criteria of the hop count request.In the example shown in FIG. 20, the affinity information may identifythe merchants, the merchant chains, the affinity values, and hop countsfor the determined merchant affinity network. For instance, as shown,hop count response information 2000 reflects merchant chains with onehop (e.g., M1→M2, M1→M4, M1→M3, M4→M2, M2→M5 (each involving one hop)),and merchant chains with two hops (e.g., M1→M4→M2 and M2→M5→M7 (eachinvolving two hops). Hop count response information 2000 may includedata reflecting the affinity value (e.g., relationship strength RS) foreach merchant chain (e.g., RS: 2 for chain M1→M3, and RS: 2 for two-hopchain M1→M4→M2). Further, hop count information 2000 may include datareflecting the hop count. In the example shown in FIG. 20, one hopmerchant chains may be represented by the solid line arrows, a first twohop chain 2010 (e.g., M1→M4→M2) and a second two hop chain 2020 (e.g.,M2→M5→M7).

Returning to FIG. 19, the affinity relationship information request mayseek all transaction affinities involving a specified merchant category.In this case, TAP components 222 may identify the request as a merchantchain category request (Step 1930) (e.g., request for all affinitiesinvolving a home improvement transaction event, a commuting event, etc.)In one example, the category request may include data reflecting aspecific merchant chain category. The specified merchant chain categorymay be provided in category value format (e.g., CAT100, CAT200, etc.),or may include information that may be analyzed to determine thecategory value. For instance, a user of client 120A may, via aninterface provided by TAP components 322, may provide input seeking allaffinities relating to home improvement transactions. TAP components 322may perform a process that analyzes the request to associate it with acategory value (e.g., CAT 100). Alternatively, TAP components 322 maygenerate a request that is transmitted to transaction affinity platform110, and provided to TAP components 222 to analyze and determine thecategory value. In other examples, a similar type of request may beprovided by merchant 130, and processed in kind by TAP components 422,or by a user interfacing with transaction affinity platform 110.

Based on the identified category, in one example, TAP components 222 maycollect transaction affinity relationship information for merchantchains that match the category request (Step 1932) and provide affinityrelationship information for the category request (Step 1934). Forexample, TAP components 222 may generate merchant affinity relationshipinformation that may be used by one or more processes performed bytransaction affinity platform 110, TAP components 222, client 120,and/or merchant 130, depending on the source of the request. In oneexample, TAP components 222 may generate a category response that may betransmitted to client 120A, which performs processes for generating andproviding the merchant affinity relationship information for therequested category request in an interface displayed by client 120A(Step 1924). The merchant affinity relationship information interfacemay present the information in list format or graphical format (e.g.,displaying information reflecting the merchant affinity relationshipsinvolving merchant chain category CAT00, such as affinity informationrelating the merchant chains involving CAT 100, as exemplified in store1820).

The disclosed implementations may also perform processes that permitadjusting merchant recommendation information based one or moreparameters, conditions, or other types of information that may changerecommendations determined in accordance with the merchantrecommendation processes disclosed above. For example, the disclosedimplementations may analyze information associated with the location ofclient 120 associated with a user account holder and the location of oneor more potential next merchants determined by the merchantrecommendation process disclosed above (e.g., Step 1420). For example,transaction affinity platform 110 may receive location informationreflecting the current location of client 120. In one aspect,transaction affinity platform 110 may receive the location informationfrom client 120 in response to a request from transaction affinityplatform 110 to client 120 for current location information.Alternatively, TAP components 322 in client 120 may perform processesthat determines the location of client 120 (e.g., requests and receivesinformation from other software executing on client 120 (e.g., GPSlocation tracking software, etc.) or performs processes to request andreceive location information for client 120 from an external locationprovisioning service, etc.). Once determined, TAP components 322 maygenerate and send a message (e.g., push communication) to transactionaffinity platform 110. Alternatively, or in addition, transactionaffinity platform 110 may determine a location of client 120 based onanalysis of the last monitored transaction from the transaction affinitydata collected and analyzed consistent with the above disclosedprocesses (e.g., merchant location field (770) described above inconnection with FIG. 7). Based on the location of the last merchant inthe transaction event transaction and/or location of client 120, and thelocation of the one or more potential next merchant(s) (e.g., Step1420), transaction affinity platform 110 may determine and provide amerchant recommendation that identifies a merchant that is within athreshold distance of the user/last merchant transaction location (e.g.,within 1/2 mile, within 1 mile, within 5 miles, within a certainlocation area maintained by the information stores disclosed above(e.g., LOCA, LOC B3, etc.). In other aspects, transaction affinityplatform 110 may determine and provide a merchant recommendation thatidentifies a merchant that is geographically closer than other potentialnext merchants determined by the merchant recommendation process (e.g.,Step 1420).

In other aspects, transaction affinity platform 110 may also performprocesses that analyze other types of information to determine whetherto adjust the merchant recommendation data determined by the disclosedmerchant recommendation processes disclosed herein, such as thosediscussed above in connection with FIG. 14. For example, transactionaffinity platform 110 may perform processes that receives trafficinformation relative to the user's location (e.g., client 120), thelocation of the merchant in the last transaction event, and/or thelocation of the potential next merchant(s) determined by the merchantrecommendation process (e.g., Step 1420). Based on the traffic data,transaction affinity platform 110 may determine that a differentmerchant may be better suited to include in the merchant recommendationdata and thus adjusts the merchant recommendation that is generated andprovided. As another example, transaction affinity platform 110 may alsodetermine and analyze merchant information associated with the potentialnext merchants determined by the merchant recommendation process (e.g.,Step 1420), such as whether a merchant provides discounts or otherincentives that can be offered to a user. Based on the analysis,transaction affinity platform 110 may determine that a differentmerchant may be better suited to include in the merchant recommendationdata and thus adjusts the merchant recommendation that is generated andprovided.

For example, FIG. 21 shows a block diagram of merchant affinityrelationships associated with an exemplary scenario involving a userJohn and a corresponding merchant affinity chain determined by themerchant affinity relationship processes disclosed herein. In thisexample, merchant M3 may be a last merchant involved in a transactionevent sequence under dynamic affinity relationship processing for userJohn's account. As exemplified in FIG. 21, user John's location maycorrespond to the location of client 120 used by John. The location ofuser John/client 120 may be the same or close to (e.g., within aspecified distance, such as 100 feet, 0.25 miles, etc.) as the locationof merchant M3. Further in this example, three other merchants, M5, M6,and M7 may be located at respective distances away from merchant M3. Forillustration purposes, merchants M5→M7 may reflect potential nextmerchants that transaction affinity platform 110 may have determinedwhen performing the merchant recommendation process consistent withdisclosed implementations (e.g., Step 1420). In certain aspects,transaction affinity platform 110 may determine the locations ofmerchants M5→M7 by accessing and analyzing merchant informationmaintained, for example, in the merchant store(s) (e.g., merchant store1810) or other data structures (e.g., location store as described abovefor FIG. 17). Based on the location information for each of merchantsM5, M6, and M7, transaction affinity platform 110 may perform processesthat determine a distance from the location of user John/client 120and/or merchant M3 to each of the potential next merchant locations. Inthis example, merchant M5 may be 1 mile away from merchant M3/user John,merchant M6 may be one-half mile away from merchant M3/user John, andmerchant M7 may be one-quarter mile away from merchant M3/user John.

Transaction affinity platform 110 may determine the distance betweenuser John/merchant M3's location and a potential next merchant locationin several ways. For example, transaction affinity platform 110 mayperform processes that determine the distance by considering map-relateddata, which determines distance based on existing roads between merchantM3 and the potent next merchant location (e.g., M5, M6, M7), andcalculates a distance based on travel along paths using the roadinformation. In other aspects, transaction affinity platform 110 mayperform processes that generates and sends a request for such distanceinformation from an external service that provides navigationinformation. In further aspects, transaction affinity platform 110 maydetermine the distance from user John/merchant M3's location to thepotent next merchant based on an estimated straight distance (e.g.,relatively straight line distance determinations). For example,transaction affinity platform 110 may analyze the location informationfor merchants M3, M5, M6, and M7 (e.g., accessed from a location storeor merchant store) to determine distance information between merchant M3and each potential merchant M5, M6, and M7.

In other aspects, transaction affinity platform 110 may also performprocesses that determines traffic-related data associated with theroad/path ways between merchant M3 to each potential next merchant M5,M6, and M7. For instance, transaction affinity platform 110 may requestand receive from a traffic provisioning/monitoring service trafficinformation associated with each determined road/path between merchantM3 and potential next merchants M5, M6, and M7.

Transaction affinity platform 110 may also determine whether a potentialnext merchant M5, M6, and M7 has incentive information. For example, incertain aspects, transaction affinity platform 110 may receive orrequest incentive information from one or more merchants reflectingwhether the merchant(s) offer incentives (e.g., general discount,discount on certain merchant category items or services, etc.). Forexample, in some instances, TAP components 422 of a merchant 130 mayperform processes that generate a merchant information message thatincludes information relating to the merchant associated with merchant130. In some examples, the merchant information message may includemerchant identifier information, location information, and incentiveinformation. The incentive information may include data reflecting thatthe merchant associated with merchant 130 offers one or more incentives,such as 15% discount on all items offered by that merchant, a 5%discount on certain items/services, a 10% discount for users who have anaccount with a financial service provider associated with transactionaffinity platform 110, etc. Merchant 130 may provide the merchantinformation message to transaction affinity platform 110 (e.g., vianetwork 140), and upon receipt, transaction affinity platform 110 mayconfigure and store the merchant information in a merchant store (e.g.,1810) associated with the particular merchant. Transaction affinityplatform 110 may also update other information stores with relevantinformation from the received merchant information message, such aslocation store(s).

In some aspects, transaction affinity platform 110 may generate andconfigure a merchant recommendation data structure that includesinformation that may be analyzed for determining merchant recommendationadjustments. For example, following the example discussed above,transaction affinity platform 110 may configure and store in memory thedistance information for each merchant link (e.g., M3 to M5, M3 to M6,and M3 to M7), along with other information, such as the traffic-relateddata for the merchant links, and/or discount information for eachpotential next merchant (e.g., merchants M5, M6, and M7). Forillustration purposes, FIG. 21 shows a block diagram of exemplarymerchant recommendation store 2110 consistent with disclosedimplementations. As shown, merchant recommendation store 2110 mayinclude parameters reflecting the potential next merchant link (e.g.,M3→M5, M3→M6, M3→M7), the corresponding traffic level informationassociated with each potential next merchant link, distance informationassociated with each potential next merchant link, and incentiveinformation relating to each potential next merchant in a correspondingpotential next merchant link. The type of information as shown in FIG.21 for each of the parameters in exemplary merchant recommendation store2210 are exemplary. For example, transaction affinity platform 110 maydetermine and store a merchant rating parameter for each potential nextmerchant, which may reflect a customer service rating provided by amerchant rating service or determined and maintained by processesperformed by transaction affinity platform 110. Aspects of the disclosedimplementations may configure and format information in store 2110 tofacilitate processing merchant recommendation adjustments (e.g., codevalues, flags, etc.)

Transaction affinity platform 110 may perform processes that access andanalyze the potential next merchant information in merchantrecommendation store 2110 to determine an adjusted merchantrecommendation in a manner consistent with the above-disclosed merchantrecommendation processes (e.g., FIG. 14). For example, transactionaffinity platform 110 may analyze and compare one or more of theparameters for each merchant link (e.g., traffic level, distance,incentive discount, etc.) to determine and identify a potential nextmerchant that may be added, edited, or newly created for the merchantrecommendation data (e.g., Step 1430).

In certain implementations, transaction affinity platform 110 mayperform processes that generate and provide merchant recommendation datathat includes parameter information for each of the potential nextmerchant links and potential next merchants M5-M7 (e.g., include in themerchant recommendation data provided to client 120 the parameterinformation that informs a user of the potential next merchants and theassociated traffic, distance, and incentives offered). In other aspects,transaction affinity platform 110 may assign a weight value to one ormore parameters that affect the decision as to which of the potentialnext merchants to include in the merchant recommendation data providedby transaction affinity platform 110. For example, transaction affinityplatform 110 may determine that incentive discounts have higher priorityin relation to traffic level values (e.g., platform 110 may performprocesses that assign weight values reflecting a higher priority topotential next merchant links including higher discounts with medium tolow traffic levels as compared to other links including comparable orlower discounts with higher traffic level parameter information). Thus,in one example relating to FIG. 21 where an incentive discount parameterhas a higher weight value than a traffic level parameter, transactionaffinity platform 110 may determine that merchant M5 is to be includedas a recommended merchant, and include associated merchant informationfor merchant M5 in the merchant recommendation data, such as thatgenerated and provided in Step 1430 of FIG. 14.

In some aspects, the disclosed implementations may perform processesthat allow a user to select one or more parameters that are to beconsidered (or not) when determining merchant recommendation data inaccordance with the features discussed above. For example, transactionaffinity platform 110 may perform processes that generate informationused to provide an interface that a user may use to select and assignweight values to one or more of the parameters used to determinepotential next merchants. For instance, transaction affinity platform110 may use an API to provide information to client 120 to generate anddisplay an interface that allows a user to provide input. For example,TAP components 322 of client 120 may perform processes that generate anaffinity user convenience interface that allows a user to provide inputon one or more parameters that the user would like to be considered togenerate and provide a merchant recommendation to the user.

FIG. 22 shows a block diagram of an exemplary affinity user convenienceinterface 2200 that may be generated and provided by client 120.Interface 2200 may include one or more parameter inputs (2210, 2220,2230) that may a user may manipulate via input/output components (e.g.,I/O components 328) to adjust a priority level for given parameter(s)that the user would like considered in generating a merchantrecommendation. For example, interface 2200 may include a distanceparameter input 2210, which can be adjusted by the user (via client 120)to set a priority level regarding the distance from client 120's (or theuser's) current location and the potential next merchant(s) that may beconsidered as recommended merchants. Traffic parameter input 2220 may beassociated with a traffic level associated with a potential nextmerchant. Discount parameter input 2230 may reflect the priority to begiven based on whether a merchant provides any incentive discounts. TAPcomponents 328 may perform processes that receive selection inputsregarding the parameter inputs in the affinity user convenienceinterface. As shown in FIG. 22, interface 2200 may provide slidingscales that a user may adjust (left to right, right to left) thatreflect the level of importance for a given parameter to the user. Forinstance, a user may move distance parameter input 2210 more to theright, which in this example, may reflect a higher level of importance.The traffic parameter input 2220 may be selected more to the left, whichin this example, may reflect less priority to the user. The manner andmechanisms provided by the disclosed implementations are not limited tosuch examples. For instance, moving parameter input 2210 to the left mayreflect a higher level of importance.

Based on the user parameter input(s) selected, TAP components 328 mayperform processes that analyze the selected parameter input informationand generate a parameter input message that is sent by client 120 totransaction affinity platform 110. Transaction affinity platform 110 mayreceive and store the user parameter input data in memory (e.g.,merchant recommendation store 2210, etc.). Transaction affinity platform110 may perform processes that generate and assign a weight value to aparameter included in the merchant recommendation store based on theparameter setting reflected in the user parameter input. Transactionaffinity platform 110 may use the assigned weight value(s) as input datawhen performing one or more transaction affinity processes consistentwith those discussed above (e.g., processes disclosed above inconnection with FIGS. 5-14). Additionally, or alternatively, transactionaffinity platform 110 may generate and assign a weight value associatedwith the collective parameter input values for the user (e.g., a weightvalue that reflects a certain parameter as a single priority value forconsideration by processes performed during transaction affinityrelationship recommendation operations as discussed above.

In certain aspects, transaction affinity platform 110 may access,analyze, and use the user parameter input data (and/or the assignedweigh value(s) associated with the parameter input(s)) to determinepotential next merchant(s) in the merchant recommendation data, asdescribed above (e.g., FIG. 14). For example, transaction affinityplatform 110 may perform processes that collects the merchantrecommendation data determined in Step 1430 and performs an adjustmentprocess that analyzes the potential next merchants using the parameterinformation and/or weigh values to determine an adjusted merchantrecommendation data, which may include different recommended merchants,or a different ordered list of recommended merchants. Alternatively, oradditionally, the processes performed during Step 1420 and/or 1430 maybe adjusted to include parameter input processes that adjust thedetermination of a potential next merchant consistent with the adjustedmerchant recommendation processes discussed above.

For example, transaction affinity platform 110 may perform the merchantrecommendation process (FIG. 14) to determine three potential nextmerchants to recommend (e.g., Step 1420), such as merchants M5, M6, andM7 as described above in connection with FIG. 21. In this example, themerchant recommendation data may include information that identifiesmerchant M6 as the first merchant to recommend, followed by merchant M7,and merchant M5. In certain aspects, transaction affinity platform 110may perform processes that analyzes the parameter values for thepotential merchant links associated with the potential next merchantsM5, M6, and M7 and/or associated parameter weight values to determinewhether an adjustment to the merchant recommendation data should bemade, and if so, performs the adjustment. For example, in connectionwith the exemplary parameter input selections shown in interface 2200 ofFIG. 22 and exemplary distance, discount, and traffic inputs (2210,2220, 2230), transaction affinity platform 110 may assign a higherweight value to the incentive discount parameter compared to otherparameters (e.g., traffic, distance). Transaction affinity platform 110may analyze the potential next merchant data, parameter data (e.g., instore 2110), and assigned parameter weight values to determine adjustedmerchant recommendation data. Thus, based on the exemplary weight valuesfor the parameter inputs (2210, 2220, 2230) associated with those shownin exemplary interface 2200, and the information in store 2110,transaction affinity platform 110 may determine that the merchantrecommendation data be adjusted to reflect that merchant M5 be firstrecommended. Transaction affinity platform 110 may perform processesthat generates the adjusted merchant recommendation data reflecting thechange and generates and provides the adjusted merchant recommendationdata in a manner consistent with the processes discussed above inconnection with Step 1430 of FIG. 14.

Although aspects of the disclosed implementations are described as beingassociated with data stored in memory and other tangiblecomputer-readable storage mediums, one skilled in the art willappreciate that these aspects can also be stored on and executed frommany types of non-transitory, tangible computer-readable media, such assecondary storage devices, like hard disks, floppy disks, or CD-ROM, orother forms of RAM or ROM. Accordingly, the disclosed implementationsare not limited to the above described examples, but instead is definedby the appended claims in light of their full scope of equivalents.

What is claimed is:
 1. A system for determining adjusted transactionaffinity recommendation data, comprising: transaction affinity platformcomputing components that execute software to perform operations thatgenerate transaction affinity recommendation data; and memory thatstores the software and information used by the transaction affinityplatform computing components to perform the operations to: receivetransaction data associated with a set of transactions associated with afirst account record; analyze the transaction data to generate atransaction affinity data set; identify a first pair of temporallyrelated transactions from the transaction affinity data set, the firstpair of temporally related transactions including a first transactionand a second transaction that occurred later in time than the firsttransaction; analyze transaction affinity data associated with eachtransaction in the first pair of temporally related transactions todetermine time gap data associated with the first transaction and thesecond transaction; generate trip transaction data based on the time gapdata; generate transaction affinity relationship data based on the triptransaction data; generate, based on the transaction affinityrelationship data, merchant recommendation data associated with a set ofrecommended merchants that have an affinity relationship with a targetmerchant, such that the merchant recommendation data is generated beforea new transaction occurs after the second transaction and the merchantrecommendation data identifies a first recommended merchant included inthe set of recommended merchants; determine merchant parameterinformation for each merchant in the set of recommended merchants;receive input parameter information associated with a set of parametersthat are included in the merchant parameter information; determine aparameter weight value for each parameter in the set of parameters basedon the input parameter information; analyze the parameter weight valuesand the merchant parameter information; determine an adjustment to themerchant recommendation data based on analyzing the parameter weightvalues and the merchant parameter information; and generate, based onthe determined adjustment, adjusted merchant recommendation data thatidentifies a second recommended merchant in the set of recommendedmerchants as an alternative to the first recommended merchant.
 2. Thesystem of claim 1, wherein the merchant parameter information includesat least one of a distance parameter information reflecting a geographicdistance between the target merchant and each merchant in the set ofrecommended merchants, incentive parameter information reflecting anindication of an incentive offered by each merchant in the set ofrecommended merchants, traffic parameter information reflecting a levelof traffic between the target merchant and each merchant in the set ofrecommended merchants, and merchant rating parameter informationreflecting a satisfaction rating level associated with each merchant inthe set of recommended merchants, the system further comprising that thetransaction affinity platform computing components perform theoperations to generate information used to provide an interface toreceive the input parameter information, the input parameter informationincluding at least one of a distance parameter priority value, anincentive parameter priority value, a traffic parameter priority value,and a merchant rating parameter priority value.
 3. The system of claim2, further comprising that the transaction affinity platform computingcomponents performs the operations that determines the parameter weightvalue for each parameter in the set of parameters based on the inputparameter information by: determining the parameter weight value foreach parameter in the set of parameters based on at least one of thedistance parameter priority value, an incentive parameter priorityvalue, a traffic parameter priority value, and a merchant ratingparameter priority value.
 4. The system of claim 2, further comprisingthat the transaction affinity platform computing components performs theoperations that determine the adjustment to the merchant recommendationdata by: determining a current time information when the firstrecommended merchant is determined; determining that the merchantparameter information for the first recommended merchant reflects thatthe first recommended merchant is unavailable based on the current timeinformation; analyzing the merchant parameter information for apotential recommended merchant in the set of recommended merchants todetermine that the potential recommended merchant is available based onthe current time information; and identifying, based on analyzing themerchant parameter information, the potential recommended merchant asthe second recommended merchant.
 5. The system of claim 1, wherein theset of recommended merchants includes a first potential recommendedmerchant, and the parameter information associated with the firstrecommended merchant includes a distance parameter value that reflects afirst distance between the target merchant and the first recommendedmerchant, and wherein the parameter information associated with thefirst potential recommended merchant includes a distance parameter valuethat reflects a second distance between the target merchant and thefirst potential recommended merchant, and wherein the transactionaffinity platform computing components perform the operations thatdetermine the adjustment to the merchant recommendation data by:analyzing the distance parameter value associated with the firstpotential recommended merchant and the distance parameter valueassociated with the first recommended merchant, and identifying thefirst potential recommended merchant as the second recommended merchantbased on the analysis.
 6. The system of claim 1, further comprising thatthe transaction affinity platform computing components performs theoperations to determine an adjustment to the merchant recommendationdata based on analyzing the parameter weight values and the merchantparameter information by: analyzing merchant parameter informationassociated with the merchants in the set of recommended merchants todetermine that a potential recommended merchant in the set ofrecommended merchants is a merchant partner; and identifying thepotential recommended merchant as the second recommended merchant basedon the determination that the potential recommended merchant isidentified as a merchant partner.
 7. The system of claim 1, furthercomprising that the transaction affinity platform computing componentsperforms the operations to determine an adjustment to the merchantrecommendation data based on analyzing the parameter weight values andthe merchant parameter information by: analyzing merchant parameterinformation associated with the merchants in the set of recommendedmerchants to determine that a potential recommended merchant in the setof recommended merchants is a merchant partner associated with the firstaccount record; and identifying the potential recommended merchant asthe second recommended merchant based on the determination that thepotential recommended merchant is identified as a merchant partnerassociated with the first account record.
 8. The system of claim 1,further comprising that the transaction affinity platform computingcomponents performs the operations to: generate the second merchantrecommendation data to include a merchant identifier for the secondrecommended merchant, parameter information associated with the secondrecommended merchant, and recommendation message data reflectinginformation that conveys a recommendation of the second recommendationmerchant; and provide the second merchant recommendation data to acomputing device for display in an interface of a display device.
 9. Amethod for determining adjusted transaction affinity recommendation dataperformed by transaction affinity platform computing components thatexecute software stored in a memory, the method comprising: receivingtransaction data associated with a set of transactions associated with afirst account record; analyzing the transaction data to generate atransaction affinity data set; identifying a first pair of temporallyrelated transactions from the transaction affinity data set, the firstpair of temporally related transactions including a first transactionand a second transaction that occurred later in time than the firsttransaction; analyzing transaction affinity data associated with eachtransaction in the first pair of temporally related transactions todetermine time gap data associated with the first transaction and thesecond transaction; generating trip transaction data based on the timegap data; generating transaction affinity relationship data based on thetrip transaction data; generating, based on the transaction affinityrelationship data, merchant recommendation data associated with a set ofrecommended merchants that have an affinity relationship with a targetmerchant, such that the merchant recommendation data is generated beforea new transaction occurs after the second transaction and the merchantrecommendation data identifies a first recommended merchant included inthe set of recommended merchants; determining merchant parameterinformation for each merchant in the set of recommended merchants;receiving input parameter information associated with a set ofparameters, the set of parameters associated with parameters included inthe merchant parameter information; determining a parameter weight valuefor each parameter in the set of parameters based on the input parameterinformation; analyzing the parameter weight values and the merchantparameter information; determining an adjustment to the merchantrecommendation data based on analyzing the parameter weight values andthe merchant parameter information; and generating, based on thedetermined adjustment, adjusted merchant recommendation data thatidentifies a second recommended merchant in the set of recommendedmerchants in place of the first recommended merchant.
 10. The method ofclaim 9, wherein the merchant parameter information includes at leastone of a distance parameter information reflecting a geographic distancebetween the target merchant and each merchant in the set of recommendedmerchants, incentive parameter information reflecting an indication ofan incentive offered by each merchant in the set of recommendedmerchants, traffic parameter information reflecting a level of trafficbetween the target merchant and each merchant in the set of recommendedmerchants, and merchant rating parameter information reflecting asatisfaction rating level associated with each merchant in the set ofrecommended merchants, the method further comprising: generatinginformation used to provide an interface to receive the input parameterinformation, the input parameter information including at least one of adistance parameter priority value, an incentive parameter priorityvalue, a traffic parameter priority value, and a merchant ratingparameter priority value.
 11. The method of claim 10, furthercomprising: determining the parameter weight value for each parameter inthe set of parameters based on at least one of the distance parameterpriority value, an incentive parameter priority value, a trafficparameter priority value, and a merchant rating parameter priorityvalue.
 12. The method of claim 10, further comprising: determining acurrent time information when the first recommended merchant isdetermined; determining that the merchant parameter information for thefirst recommended merchant reflects that the first recommended merchantis unavailable based on the current time information; analyzing themerchant parameter information for a potential recommended merchant inthe set of recommended merchants to determine that the potentialrecommended merchant is available based on the current time information;and identifying, based on analyzing the merchant parameter information,the potential recommended merchant as the second recommended merchant.13. The method of claim 9, wherein the set of recommended merchantsincludes a first potential recommended merchant, and the parameterinformation associated with the first recommended merchant includes adistance parameter value that reflects a first distance between thetarget merchant and the first recommended merchant, and the parameterinformation associated with the first potential recommended merchantincludes a distance parameter value that reflects a second distancebetween the target merchant and the first potential recommendedmerchant, the method further comprising: analyzing the distanceparameter value associated with the first potential recommended merchantand the distance parameter value associated with the first recommendedmerchant; and identifying the first potential recommended merchant asthe second recommended merchant based on the analysis.
 14. The method ofclaim 9, wherein determining the adjustment to the merchantrecommendation data based on analyzing the parameter weight values andthe merchant parameter information includes: analyzing merchantparameter information associated with the merchants in the set ofrecommended merchants to determine that a potential recommended merchantin the set of recommended merchants is a merchant partner; andidentifying the potential recommended merchant as the second recommendedmerchant based on the determination that the potential recommendedmerchant is identified as a merchant partner.
 15. The method of claim 9,wherein determining the adjustment to the merchant recommendation databased on analyzing the parameter weight values and the merchantparameter information includes: analyzing merchant parameter informationassociated with the merchants in the set of recommended merchants todetermine that a potential recommended merchant in the set ofrecommended merchants is a merchant partner associated with the firstaccount record; and identifying the potential recommended merchant asthe second recommended merchant based on the determination that thepotential recommended merchant is identified as a merchant partnerassociated with the first account record.
 16. The method of claim 9,further comprising: generating the second merchant recommendation datato include a merchant identifier for the second recommended merchant,parameter information associated with the second recommended merchant,and recommendation message data reflecting information that conveys arecommendation of the second recommendation merchant; and providing thesecond merchant recommendation data to a computing device for display inan interface of a display device.
 17. A non-transitory computer-readablemedium storing instructions for wireless communication, the instructionscomprising: one or more instructions that, when executed by one or moreprocessors, cause the one or more processors to: receive transactiondata associated with a set of transactions associated with a firstaccount record; analyze the transaction data to generate a transactionaffinity data set; identify a first pair of temporally relatedtransactions from the transaction affinity data set, the first pair oftemporally related transactions including a first transaction and asecond transaction that occurred later in time than the firsttransaction; analyze transaction affinity data associated with eachtransaction in the first pair of temporally related transactions todetermine time gap data associated with the first transaction and thesecond transaction; generate trip transaction data based on the time gapdata; generate transaction affinity relationship data based on the triptransaction data; generate, based on the transaction affinityrelationship data, merchant recommendation data associated with a set ofrecommended merchants that have an affinity relationship with a targetmerchant, such that the merchant recommendation data is generated beforea new transaction occurs after the second transaction and the merchantrecommendation data identifies a first recommended merchant included inthe set of recommended merchants; determine merchant parameterinformation for each merchant in the set of recommended merchants;receive input parameter information associated with a set of parameters,the set of parameters associated with parameters included in themerchant parameter information; determine a parameter weight value foreach parameter in the set of parameters based on the input parameterinformation; analyze the parameter weight values and the merchantparameter information; determine an adjustment to the merchantrecommendation data based on analyzing the parameter weight values andthe merchant parameter information; and generate, based on thedetermined adjustment, adjusted merchant recommendation data thatidentifies a second recommended merchant in the set of recommendedmerchants in place of the first recommended merchant.
 18. Thenon-transitory computer-readable medium of claim 17, wherein themerchant parameter information includes at least one of a distanceparameter information reflecting a geographic distance between thetarget merchant and each merchant in the set of recommended merchants,incentive parameter information reflecting an indication of an incentiveoffered by each merchant in the set of recommended merchants, trafficparameter information reflecting a level of traffic between the targetmerchant and each merchant in the set of recommended merchants, andmerchant rating parameter information reflecting a satisfaction ratinglevel associated with each merchant in the set of recommended merchants,the one or more instructions further causing the one or more processorsto: generate information used to provide an interface to receive theinput parameter information, the input parameter information includingat least one of a distance parameter priority value, an incentiveparameter priority value, a traffic parameter priority value, and amerchant rating parameter priority value.
 19. The non-transitorycomputer-readable medium of claim 18, wherein the one or moreinstructions, when executed by the one or more processors, further causethe one or more processors to: determine the parameter weight value foreach parameter in the set of parameters based on at least one of thedistance parameter priority value, an incentive parameter priorityvalue, a traffic parameter priority value, and a merchant ratingparameter priority value.
 20. The non-transitory computer-readablemedium of claim 18, wherein the one or more instructions, when executedby the one or more processors, further cause the one or more processorsto: determine a current time information when the first recommendedmerchant is determined; determine that the merchant parameterinformation for the first recommended merchant reflects that the firstrecommended merchant is unavailable based on the current timeinformation; analyze the merchant parameter information for a potentialrecommended merchant in the set of recommended merchants to determinethat the potential recommended merchant is available based on thecurrent time information; and identify, based on analyzing the merchantparameter information, the potential recommended merchant as the secondrecommended merchant.